Array

注:以下方法如果参数为fn函数,则fn函数默认参数依次为:元素值,元素的索引,原数组。

判断类型

Array.isArray()

创建

Array.from()

从一个类似数组或可迭代对象中创建一个新的数组实例

连接合并

Array.join(连接符)

将数组元素用连接符连接起来,返回一个字符串

Array.concat(value1, value2, valueN)

返回新数组,不改变原数组

裁剪

Array.slice(start, end)

不改变原数组,返回裁剪的新数组,不包括end

Array.splice(start, 要删除的个数, 替换元素)

改变原数组,返回删除的内容

验证

Array.every(fn, this)

所有元素是否都通过了指定函数的测试

Array.some(fn, this)

是否有某个元素满足指定函数的测试

过滤

Array.filter(fn, this)

返回新数组,包含所有通过fn函数测试的元素

查找

Array.find(fn, this)

返回第一个通过fn函数测试的元素

Array.findIndex(fn, this)

返回第一个通过fn函数测试的元素的索引

Array.includes(value, fromIndex)

是否包含某个元素,返回布尔值

Array.indexOf()

返回某个元素的索引,不存在则返回 -1

Array.lastIndexOf(value, fromIndex)

从后往前查找,第一个找到的元素的索引

遍历

Array.forEach(fn)

Array.map(fn, this)

返回新数组,数组元素是每个值执行函数后的结果

Array.reduce(fn, 初始值)

fn参数依次为:上一次执行的结果,当前值,当前值的索引,数组

Array.flat(depth)

扁平化嵌套数组,返回一个新数组。如果参数为 Infinity,则展开任意深度的嵌套数组。

Array.flatMap(fn)

增删

Array.pop() 从后删除,改变原数组长度,返回该元素值

Array.push() 从后追加,返回新数组长度

Array.shift() 从前删除,改变原数组长度,返回该元素值

Array.unshift() 从前插入,返回新数组长度

排序

Array.sort(fn)

改变原数组。fn参数:第一个值,第二个值。 return a - b 则升序排列,return b - a 则降序排列

Array.reverse()

改变原数组,将数组倒序排列并返回

其他

Array.fill(value, start, end)

用固定值填充指定位置,不包括终止索引

Array.toLocalString()

Array.toString()

实用方法

var intersection = a.filter(v => b.includes(v))

求两个数组的交集

var difference = a.concat(b).filter(v => !a.includes(v) || !b.includes(v))

求两个数组的差集

var union = Array.from( new Set( a.concat(b) ) )

求两个数组的并集(去重的)

posted on 2019-04-01 22:51  dawnxuuu  阅读(111)  评论(0编辑  收藏  举报

导航