变幻莫测
splice
数组截断,改变元素,返回被截取值
arr.splice(index,count,item1,.....,itemX)
参数
| 参数 | 描述 |
|---|---|
| index | *,开始下标 |
| count | 截取长度,如果没有则默认后续所有 |
| item1,.....,itemX | 截取后可被替换的值,默认为空 |
小技巧:
arr.splice(index,1)删除arr的index内容arr.splice(index,1,newVal)将arr的index内容更换为newVal
slice
截取数组开始到结束的下标数据,并返回被截取的新数组
arr.slice(start,end)
参数
| 参数 | 描述 |
|---|---|
| start | *,起始下标,如果为负数,意为倒数第几个 |
| end | 结束下标,如果为负数,则从数组末尾开始算 |
sort
数组排序
arr.sort(fn)
参数
| 参数 | 描述 |
|---|---|
| fn | 排序方法,携带两个参数,前一个item和当前item。不传结果默认升序 |
小技巧:
- arr.sort((a,b)=>b-a):大小降序
- arr.sort((a,b)=>a-b):大小升序
Array.from
类数组转换为数组
Array.from(arr,fn)
参数
| 参数 | 描述 |
|---|---|
| arr | *,类数组 |
| fn | 每次转换时的回调,类似map |
copyWithin
数组内容复制移位
arr.copyWithin(target,start,end)
参数
| 参数 | 描述 |
|---|---|
| target | *,起始位置 |
| start/end | 选写,被复制的起始/结束位置,负数为反向,前包后不包 |
轮回不止
flatMap
将数组当前项解析为多项,类似于map
arr.flatMap(fn)
参数
| 参数 | 描述 |
|---|---|
| fn | *,回调函数,当前数组项,返回一个一维数组,如 item => [ item , item+1 ] |
map
遍历处理数组的每项
arr.map(fn)
参数
| 参数 | 描述 |
|---|---|
| fn | *,回调函数,携带参数item\index\arr(当前项\当前项下标\原数组),需要返回处理后的值 |
| this | this的指向,默认为全局 |
forEach
遍历数组的每项
arr.forEach(fn)
参数
| 参数 | 描述 |
|---|---|
| fn | *,回调函数,携带参数item\index\arr(当前项\当前项下标\原数组) |
| this | this的指向,默认为全局 |
some\every
检查数组 有一个\每个 是否满足自定义条件,返回bool
arr.some\every(fn,this)
参数
| 参数 | 描述 |
|---|---|
| fn | *,回调函数,携带参数item\index\arr(当前项\当前项下标\原数组),需要返回一个bool |
| this | this的指向,默认为全局 |
reduce
递归式处理
arr.reduce(fn,init)
参数
| 参数 | 描述 |
|---|---|
| fn | *,回调函数,携带参数total\item\index\arr(上一次结果\当前项\当前项下标\原数组),需要返回一个值 |
| init | 第一次的初始值 |
filter
数组过滤,保留符合条件的
arr.filter(fn)
参数
| 参数 | 描述 |
|---|---|
| fn | *,回调函数,携带参数item\index\arr(当前项\当前项下标\原数组),需要返回一个bool条件 |
| this | this的指向,默认为全局 |
找找找
find
获取第一个符合条件的item,没有为undefined
arr.find(fn,this)
参数
| 参数 | 描述 |
|---|---|
| fn | *,回调函数,携带参数item\index\arr(当前项\当前项下标\原数组),需要返回一个bool条件 |
| this | this的指向,默认为全局 |
includes
判断指定内容是否存在于数组
arr.includes(x)
参数
| 参数 | 描述 |
|---|---|
| x | *,指定内容 |
findIndex
获取指定条件第一次出现的item下标,没有为-1
arr.findIndex(fn)
参数
| 参数 | 描述 |
|---|---|
| fn | *,回调函数,携带参数item\index\arr(当前项\当前项下标\原数组),需要返回一个bool条件 |
indexOf
获取指定内容在数组出现的第一个下标,没有为-1
arr.indexOf(x,fromindex)
参数
| 参数 | 描述 |
|---|---|
| x | *,指定内容 |
| fromindex | 开始查找的下标,默认0 |
普普通通
- Array.isArray(arr):类数组转换为数组
- 对y.of(x,y...):将传入参数转换为数组
- arr.push():往数组末尾添加指定值,一个参数添加一个,并返回新长度
- arr.unshift():往数组最前面添加指定值,一个参数添加一个,且返回新长度
- arr.pop():删除并返回数组最后一项
- arr.shift():删除并且返回数组第一项
- arr.reverse():将数组内容反排
- arr.flat(x):将数组扁平化,x默认为1,以为降低数组一级,Infinity为一直降低到一级
- arr.join(x):将数组以x间隔合并为字符串,默认为空
- arr.concat(arr2,arr3):将数组和指定数组合并
- arr.entries()/keys()/values():for..of遍历器扩展,将内容遍历内容为
[下标,值]/下标/值 - arr.fill(item):空数组填充,将empty数组内容填充为item
