JavaScript 数组函数备忘单 Array.isArray() Array.from() Array.of()

2025-06-07

JavaScript 数组函数速查表

数组.isArray()

数组.from()

数组.of()

以下是可在 JavaScript 数组上应用的所有函数的快速概述。

在我看来,可以在我的网站上找到此备忘单的更好看的版本:wweb.dev/resources/js-array-functions-cheatsheet :)


连接()

合并两个或多个数组

// example
[ 1, 2 ].concat([5], [7, 9]) // [ 1, 2, 5, 7, 9 ]
// syntax
const new_array = old_array.concat([value1[, value2[, ...[, valueN]]]])

复制内部()

将数组的一部分复制到另一个位置

// example
[ 1, 2, 3, 4, 5 ].copyWithin(0,2) // [ 3, 4, 5, 4, 5 ]
// syntax
arr.copyWithin(target[, start[, end]])

条目()

每个索引都有键/值对的数组迭代器

// example
['a', 'b', 'c'] .entries() // Array Iterator { } .next() // { value: (2) […], done: false } .value // Array [ 0, "a" ]
// syntax
arr.entries()

每一个()

测试数组中的所有元素是否通过测试

// example
[1, 30, 40].every(val => val > 0) // true
// syntax
arr.every(callback(element[, index[, array]])[, thisArg])

充满()

将数组中的元素更改为静态值

// example
[1, 2, 3, 4].fill('x', 1, 3) // [ 1, "x", "x", 4 ]
// syntax
arr.fill(value[, start[, end]])

筛选()

创建包含通过测试的元素的新数组

// example
[1, 10, 5, 6].filter(val => val > 5) // [ 10, 6 ]
// syntax
let newArray = arr.filter(callback(element[, index, [array]])[, thisArg])

寻找()

返回与测试匹配的第一个元素的值

// example
[1, 10, 5, 6].find(val => val > 5) // 10
// syntax
arr.find(callback(element[, index[, array]])[, thisArg])

查找索引()

返回与测试匹配的第一个元素的索引

// example
[1, 4, 5, 6].findIndex(val => val > 5) // 3
// syntax
arr.findIndex(callback( element[, index[, array]] )[, thisArg])

平坦的()

创建一个新数组,其中子数组元素按指定深度展平。

// example
[1, [2, [3, [4]]]].flat(2) // [ 1, 2, 3, [4] ]
// syntax
const new_array = arr.flat([depth]);

平面地图()

创建一个新数组,其中子数组元素按指定深度展平。

// example
[[2], [4], [6], [8]].flatMap(val => val/2) // [ 1, 2, 3, 4 ]
// syntax
var new_array = arr.flatMap(function callback(currentValue[, index[, array]]) {
    // return element for new_array
}[, thisArg])

forEach()

对每个数组元素执行一次提供的函数

// example
[ 1, 2, 3 ].forEach(val => console.log(val)) // 1 // 2 // 3
// syntax
arr.forEach(callback(currentValue [, index [, array]])[, thisArg])

包括()

确定数组是否包含某个值

// example
[ 1, 2, 3 ].includes(3) // true
// syntax
arr.includes(valueToFind[, fromIndex])

索引()

返回可以找到元素的第一个索引

// example
[ 1, 2, 3 ].indexOf(3) // 2
// syntax
arr.indexOf(searchElement[, fromIndex])

加入()

通过连接数组中的所有元素返回字符串

// example
[ "x", "y", "z" ].join(" - ") // "x - y - z"
// syntax
arr.join([separator])

键()

返回包含每个索引的键的数组迭代器

// example
['a', 'b', 'c']
    .keys() // Array Iterator { }
    .next() // { value: 0, done: false }
    .value // 0
// syntax
arr.keys()

lastIndexOf()

返回可以找到给定元素的最后一个索引

// example
[ 1, 2, 3, 1, 0].lastIndexOf(1) // 3
// syntax
arr.lastIndexOf(searchElement[, fromIndex])

地图()

使用提供的函数的结果创建新数组

// example
[ 2, 3, 4 ].map(val => val * 2) // [ 4, 6, 8 ]
// syntax
let new_array = arr.map(function callback( currentValue[, index[, array]]) {
    // return element for new_array
}[, thisArg])

流行音乐()

从数组中删除最后一个元素并返回该元素

// example
const arr = [ 1, 2, 3 ]
arr.pop() // returns: 3 // arr is [ 1, 2 ]
// syntax
arr.pop()

推()

将一个或多个元素添加到数组末尾并返回新的长度

// example
const arr = [ 1, 2, 3 ]
arr.push(1) // returns: 4 // arr is [ 1, 2, 3, 4 ]
// syntax
arr.push(element1[, ...[, elementN]])

减少()

执行 Reducer 函数,产生单个输出值

// example
[ 'a', 'b', 'c' ].reduce((acc, curr) => acc + curr, 'd') // "dabc"
// syntax
arr.reduce(callback( accumulator, currentValue[, index[, array]] )[, initialValue])

reduceRight()

从右到左执行 Reducer 函数,得到单个输出值

// example
[ 'a', 'b', 'c' ].reduceRight((acc, curr) => acc + curr, 'd') // "dcba"
// syntax
arr.reduceRight(callback(accumulator, currentValue[, index[, array]])[, initialValue])

撤销()

反转数组

// example
[ 1, 2, 3 ].reverse() // [ 3, 2, 1 ]
// syntax
arr.reverse()

转移()

从数组中删除第一个元素并返回该元素

// example
const arr = [ 1, 2, 3 ]
arr.shift() // returns: 1 // arr is [ 2, 3 ]
// syntax
arr.shift()

片()

返回数组部分的副本,而原始数组未被修改

// example
[ 1, 2, 3, 4 ].slice(1, 3) // [ 2, 3 ]
// syntax
arr.slice([begin[, end]])

一些()

测试数组中是否至少有一个元素通过测试

// example
[ 1, 2, 3, 4 ].some(val => val > 3) // true
// syntax
arr.some(callback(element[, index[, array]])[, thisArg])

种类()

对数组元素进行排序

// example
[ 1, 2, 3, 4 ].sort((a, b) => b - a) // [ 4, 3, 2, 1 ]
// syntax
arr.sort([compareFunction])

拼接()

通过删除、替换和/或添加元素来更改数组内容

// example
const arr = [ 1, 2, 3, 4 ]
arr.splice(1, 2, 'a') // returns [ 2, 3 ] // arr is [ 1, "a", 4 ]
// syntax
let arrDeletedItems = array.splice(start[, deleteCount[, item1[, item2[, ...]]]])

到本地字符串()

元素使用 toLocaleString 转换为字符串,并由特定于语言环境的字符串分隔(例如,“,”)

// example
[1.1, 'a', new Date()].toLocaleString('EN') // "1.1,a,5/18/2020, 7:58:57 AM"
// syntax
arr.toLocaleString([locales[, options]]);

到字符串()

返回表示指定数组的字符串

// example
[ 'a', 2, 3 ].toString() // "a,2,3"
// syntax
arr.toString()

取消移位()

将一个或多个元素添加到数组开头并返回新的长度

// example
const arr = [ 1, 2, 3 ]
arr.unshift(0, 99) // returns 5 // arr is [ 0, 99, 1, 2, 3 ]
// syntax
arr.unshift(element1[, ...[, elementN]])

值()

返回包含数组中每个索引的值的数组迭代器对象

// example
['a', 'b', 'c']
    .values() // Array Iterator { }
    .next() // { value: "a", done: false }
    .value // "a"
// syntax
arr.values()

文章来源:https://dev.to/vincenius/javascript-array-functions-cheatsheet-1c15
PREV
以 React 开发人员身份学习 Vue
NEXT
创建您自己的简单虚拟助手 什么是虚拟助手?聊天机器人和虚拟助手的区别:现在我们要构建什么?