常见的数组方法

数组填充方法

fill() 方法用一个固定值填充一个数组中从起始索引(默认为 0)到终止索引(默认为 array.length)内的全部元素。它返回修改后的数组。(修改值不修改长度)

数组增加/删除元素方法

push() 方法将指定的元素添加到数组的末尾,并返回新的数组长度。

unshift() 方法将指定元素添加到数组的开头,并返回数组的新长度。

pop() 方法从数组中删除最后一个元素,并返回该元素的值。此方法会更改数组的长度。

shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。

concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

splice() 方法就地移除或者替换已存在的元素和/或添加新的元素。(splice既可以删除元素也可以添加元素)

 toSpliced() 方法是 splice() 方法的复制版本。它返回一个新数组,并在给定的索引处删除和/或替换了一些元素。

数组替换元素方法

 with() 方法是使用方括号表示法修改指定索引值的复制方法版本。它会返回一个新数组,其指定索引处的值会被新值替换。

splice() 方法就地移除或者替换已存在的元素和/或添加新的元素。(splice既可以删除元素也可以添加元素)

 toSpliced() 方法是 splice() 方法的复制版本。它返回一个新数组,并在给定的索引处删除和/或替换了一些元素。

数组筛选判断方法

every() 方法测试一个数组内的所有元素是否都能通过指定函数的测试。它返回一个布尔值。

filter() 方法创建给定数组一部分的浅拷贝,其包含通过所提供函数实现的测试的所有元素。

includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false

some() 方法测试数组中是否至少有一个元素通过了由提供的函数实现的测试。如果在数组中找到一个元素使得提供的函数返回 true,则返回 true;否则返回 false。它不会修改数组。

数组拷贝方法

copyWithin() 方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。(修改值不修改长度)

slice() 方法返回一个新的数组对象,这一对象是一个由 start 和 end 决定的原数组的浅拷贝(包括 start,不包括 end),其中 start 和 end 代表了数组元素的索引。原始数组不会被改变。

flat() 方法创建一个新的数组,并根据指定深度递归地将所有子数组元素拼接到新的数组中。

flat() 方法属于复制方法。它不会改变 this 数组,而是返回一个浅拷贝,该浅拷贝包含了原始数组中相同的元素。

flatMap() 方法对数组中的每个元素应用给定的回调函数,然后将结果展开一级,返回一个新数组。它等价于在调用 map() 方法后再调用深度为 1 的 flat() 方法(arr.map(...args).flat()),但比分别调用这两个方法稍微更高效一些。

数组查找方法

find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined

findIndex() 方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回 -1。

findLast() 方法反向迭代数组,并返回满足提供的测试函数的第一个元素的值。如果没有找到对应元素,则返回 undefined

findLastIndex() 方法反向迭代数组,并返回满足所提供的测试函数的第一个元素的索引。若没有找到对应元素,则返回 -1。

indexOf() 方法返回数组中第一次出现给定元素的下标,如果不存在则返回 -1。

lastIndexOf() 方法返回数组中给定元素最后一次出现的索引,如果不存在则返回 -1。该方法从 fromIndex 开始向前搜索数组。

将数组拼接为字符串

join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串,用逗号或指定的分隔符字符串分隔。如果数组只有一个元素,那么将返回该元素而不使用分隔符。

toLocaleString() 方法返回一个字符串,表示数组中的所有元素。每个元素通过调用它们自己的 toLocaleString 方法转换为字符串,并且使用特定于语言环境的字符串(例如逗号“,”)分隔开。

toString() 方法返回一个字符串,表示指定的数组及其元素。

返回数组迭代器对象

entries() 方法返回一个新的数组迭代器对象,该对象包含数组中每个索引的键/值对。

keys() 方法返回一个新的数组迭代器对象,其中包含数组中每个索引的键。

values() 方法返回一个新的数组迭代器对象,该对象迭代数组中每个元素的值。

遍历数组执行固定操作

forEach() 方法对数组的每个元素执行一次给定的函数。

map() 方法创建一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。

reduce() 方法对数组中的每个元素按序执行一个提供的 reducer 函数,每一次运行 reducer 会将先前元素的计算结果作为参数传入,最后将其结果汇总为单个返回值。

第一次执行回调函数时,不存在“上一次的计算结果”。如果需要回调函数从数组索引为 0 的元素开始执行,则需要传递初始值。否则,数组索引为 0 的元素将被用作初始值,迭代器将从第二个元素开始执行(即从索引为 1 而不是 0 的位置开始)。

Array.reduce(callbackFn)
Array.reduce((callbackFn, initialValue)={})
//callbackFn(回调函数)
//(accumulator, currentValue) => {......},
//accumulator为上一次返回的结果
//currentValue为当前遍历元素
//initialValue为自定义的初始值

数组排序方法

sort() 方法就地对数组的元素进行排序,并返回对相同数组的引用。默认排序是将元素转换为字符串,然后按照它们的 UTF-16 码元值升序排序。

sort(compareFn)
//compareFn指定一个定义排序顺序的函数。如果省略,则将数组元素转换为字符串,然后根据每个字符的 Unicode 码位值进行排序。
sorted((a, b) => { /* … */ })
//a用于比较的第一个元素。
//b用于比较的第二个元素。

如果省略该函数,数组元素会被转换为字符串,然后根据每个字符的 Unicode 码位值进行排序。

 toSorted() 方法是 sort() 方法的复制方法版本。它返回一个新数组,其元素按升序排列

数组翻转方法

reverse() 方法就地反转数组中的元素,并返回同一数组的引用。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。换句话说,数组中的元素顺序将被翻转,变为与之前相反的方向。

Array 实例的 toReversed() 方法是 reverse() 方法对应的复制版本。它返回一个元素顺序相反的新数组。

  • 49
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
eS6(ES2015)引入了许多新的数组方法,以下是其中一些常见方法: 1. `Array.from()`:将类数组对象或可迭代对象转换为真正的数组。 2. `Array.of()`:创建一个包含传入参数的新数组。 3. `Array.prototype.find()`:返回数组中满足条件的第一个元素。 4. `Array.prototype.findIndex()`:返回数组中满足条件的第一个元素的索引。 5. `Array.prototype.includes()`:判断数组是否包含指定的元素。 6. `Array.prototype.fill()`:用一个固定值填充整个数组或指定的部分。 7. `Array.prototype.keys()`:返回一个包含数组索引的新迭代器对象。 8. `Array.prototype.values()`:返回一个包含数组值的新迭代器对象。 9. `Array.prototype.entries()`:返回一个包含数组索引和值的新迭代器对象。 10. `Array.prototype.flat()`:将多维数组扁平化为一维数组。 11. `Array.prototype.flatMap()`:首先使用映射函数映射每个元素,然后将结果扁平化为一维数组。 12. `Array.prototype.forEach()`:对数组中的每个元素执行提供的函数。 13. `Array.prototype.map()`:创建一个新数组,其中每个元素为原始数组元素调用提供的函数的结果。 14. `Array.prototype.filter()`:创建一个新数组,其中仅包含满足条件的原始数组元素。 15. `Array.prototype.reduce()`:将数组元素通过提供的函数累积为单个值。 16. `Array.prototype.reduceRight()`:与`reduce()`相同,但从右向左处理数组元素。 17. `Array.prototype.some()`:检查数组中是否至少有一个元素满足条件。 18. `Array.prototype.every()`:检查数组中的所有元素是否都满足条件。 19. `Array.prototype.sort()`:原地对数组进行排序。 20. `Array.prototype.reverse()`:原地反转数组元素的顺序。 这些是ES6中常见数组方法,它们提供了更便捷和灵活的方式来操作和处理数组

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值