ES5
- concat(不改变原数组)
- 传入一个以上的参数,参数会被转为数组,返回连接后的一个数组
- join (不改变原数组)
- 传入一个字符串,作为分割符,返回分隔好的字符串
- push / unshift (改变原数组)
- 传入一个以上的参数,参数会被转为数组,在数组的结尾/开头处添加元素,返回添加后的长度
- pop / shift (改变原数组)
- 删除数组最后/第一个元素,返回这个元素
- slice (不改变原数组)
- 第一个参数表示从何处开始获取,第二个参数表示从何处结束(负数为从后开始数),返回切割到的数组
- splice (改变原数组)
- 第一个参数表示从何处开始删除,第二个参数表示从何处结束,第三个参数表示向数组添加的元素
- sort (改变原数组)
- 默认按照
ASCII
排序,也可接受一个函数例如(a, b) => a - b
,返回一个数值表示二者的顺序
- 默认按照
- reverse (改变原数组)
- 倒序
- indexOf 和 lastIndexOf
- 从数组的头/从结尾开始查找传入的参数,返回索引号或者-1
- every (不改变原数组,可自定义this)
- 接受一个函数(必须返回布尔值),遍历数组,判断每个元素是否满足函数中的条件
- some (不改变原数组,可自定义this)
- 接受一个函数(必须返回布尔值),遍历数组,判断是否有某个元素满足函数中的条件
- filter (不改变原数组,可自定义this)
- 接受一个函数(必须返回布尔值),遍历数组,返回包含满足条件的元素组成的数组
- map (不改变原数组,可自定义this)
- 接受一个函数,遍历数组,返回函数操作后的新数组
- forEach (不改变原数组,可自定义this)
- 自定义遍历,第一个参数是元素,第二个是元素的索引,第三个是数组本身
- reduce
- 接受一个函数作为累计器,第二个参数为初始值
- 函数的参数:
- 结束后的返回值
- 当前元素
- 当前元素的索引
- 引用的数组对象
ES6
- find(function(value, index, arr),this)
- findIndex
- 同上,返回的是索引
- fill(value, start, end)
- 用一个固定值替换数组的元素
- copyWithin(target, start, end)
- from(object, mapFunction, this)
- object必须为可跌代对象,mapFunction是每个传入的元素执行的回调
- of
+把传入的所有参数组成一个数组返回 - entries
- 返回一个数组的迭代对象,{索引,值}
- values
- 同上,返回值
- key
- 同上,返回索引
- includes(searchElement, fromIndex)
- flat() (不改变原数组)
- 扁平化数组,接收一个数值作为扁平化的层数,默认为 1,可以传入
Infinity
- 扁平化数组,接收一个数值作为扁平化的层数,默认为 1,可以传入
- flatMap()
- 好像跟
Array.flat().map(function)
没区别吧?
- 好像跟