前端之路

JavaScript 数组实例方法

2019-08-13  本文已影响10人  小小_绿
copyWithin()

在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。

find() 和 findIndex()
[11, 5].find(function(value, index, arr) {
  return value > 9;
})

value: 当前值,;index:当前位置,;arr:原数组

[11, 5].findIndex(function(value, index, arr) {
  return index> 0;
})

indexOf方法无法识别数组的NaN成员;findIndex方法可以借助Object.is方法做到。

[NaN].indexOf(NaN)
// -1

[NaN].findIndex(y => Object.is(NaN, y))
// 0
fill()

使用给定值,填充一个数组
fill方法用于空数组的初始化,数组中已有的元素,会被全部抹去。
第一参数、第二个和第三个参数,用于指定填充的数值、起始位置和结束位置。

entries(),keys() 和 values()
includes()

返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似,有些浏览器不兼容。
第二个参数表示搜索的起始位置,默认为0。如果第二个参数为负数,则表示倒数的位置,如果这时它大于数组长度(比如第二个参数为-3,但数组长度为2),则会重置为从0开始。

检查当前环境是否支持该方法,如果不支持,部署一个简易的替代版本。

const contains = (() =>
  Array.prototype.includes
    ? (arr, value) => arr.includes(value)
    : (arr, value) => arr.some(el => el === value)
)();
contains(['foo', 'bar'], 'baz'); // => false
flat(),flatMap()
[16, 62, [36, [64, 5]]].flat()
// [16, 62, 36, [46, 5]]

[14, 2, [43, [4, 45]]].flat(2)
// [41, 2, 43, 4, 45]
上一篇 下一篇

猜你喜欢

热点阅读