头尾增减:shift、unshift、push、pop

头部尾部
增加arr.unshiftarr.push
删除arr.shiftarr.pop
当栈使用:push pop
当队列使用:push shift

函数式转换: map, filter, reduce, reduceRight

map

把回调函数逐个应用到数组元素上,返回值组成新的数组
回调函数签名速记:cia(当前值,当前序号i,完整数组)
如果不要返回值,这个对应的是forEach

filter

过滤数组,把回调应用到数组元素,根据返回的布尔值决定是否保留,返回真则保留。
回调函数签名速记:cia(当前值,当前序号i,完整数组)

reduce

处理数组合成一个值,把回调应用到数组元素,每次从旧的结果计算新的结果
本体签名:[].reduce(cb, initValue?)
回调函数签名速记:pcia(之前合成的结果,当前值,当前序号i,完整数组)
编码风格:initialValue一定要传

带副作用的map:forEach

量词 every, some,


查找:

找值(第二项参数跳过一部分,支持负数)

includes
indexOf
lastIndexOf

找符合条件的

find
findIndex
findLast
findLastIndex

遍历:`[].keys(), [].values(), [].entries()

创建数组

字面量

a= [1,2,3]

用fill预分配

new Array(3).fill(0)

预分配2D

new Array(3).fill().map(_=>new Array(3).fill(0))

静态方法

Array.from([1,2,3])
Array.from([1,2,3], x=>2x)
Array.of(1,2,3)

Array.isArray() //检查是否数组

改变顺序:sort, reverse

转字符串:join, toLocaleString, toString

切分连接:slice splice concat

其他 flat flatMap copyWithin

在array like对象上使用数组的方法

[].map.call(document.querySelectorAll(“a”), x console.log(x))