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