注:
- 标记星号是会改变原数组的操作
- 元素操作索引从 0 开始
- 包含起始位置和结束位置的操作,结束位置都不包含在内,是前闭后开区间
concat(连接数组)
1 | // 数组连接数组 |
join(数组转为字符串)
1 | var arr1 = ['a', 'b'] |
*pop(删除最后一个元素)
1 | var arr1 = ['a', 'b'] |
*shift(删除第一个元素)
1 | var arr1 = ['a', 'b'] |
*push(末尾添加元素)
1 | var arr1 = ['a', 'b'] |
*unshift(首部添加元素)
1 | var arr1 = ['a', 'b'] |
*reverse(数组元素颠倒)
1 | var arr1 = ['a', 'b'] |
slice(start, end) (浅拷贝元素)
1 | var arr1 = ['a', 'b', 'c'] |
*splice (替换、删除元素)
1 | var arr1 = ['a', 'b'] |
*sort(排序)
a - b < 0,a 排在 b 前面
a - b = 0,a, b 相对位置不变
a - b > 0,b 排在 a 前面
1 | // 对象数组依照对象的某一个值升序排序 |
*forEach(遍历)
1 | var arr4 = [{name: 'wzp', age: 23},{name: 'wu', age: 12},{name: 'yi', age: 35}] |
map(映射)
1 | var arr4 = [{name: 'wzp', age: 23},{name: 'wu', age: 12},{name: 'yi', age: 35}] |
filter(过滤)
1 | var arr4 = [{name: 'wzp', age: 23},{name: 'wu', age: 12},{name: 'yi', age: 35}] |
some(是否包含)
返回true或false
1 | var arr4 = [{name: 'wzp', age: 23},{name: 'wu', age: 12},{name: 'yi', age: 35}] |
every(全部通过)
返回true或false
1 | var arr4 = [{name: 'wzp', age: 23},{name: 'wu', age: 12},{name: 'yi', age: 35}] |
find(返回第一个匹配元素)
1 | var arr4 = [{name: 'wzp', age: 23},{name: 'wu', age: 12},{name: 'yi', age: 35}] |
findIndex(返回第一个匹配元素的索引)
1 | var arr4 = [{name: 'wzp', age: 23},{name: 'wu', age: 12},{name: 'yi', age: 35}] |
indexOf(‘str’, start)(从开头查找元素)
返回第一个匹配元素索引或 -1
1 | var arr1 = ['a', 'b'] |
lastIndexOf(‘str’, start) (从末尾查找元素)
返回最后一个匹配元素索引或 -1
1 | var arr1 = ['a', 'b'] |
includes(是否包含元素)
参数:searchElement 要查找的元素,fromIndex 从该索引出开始查找
1 | var arr1 = ['as', 'b'] |
reduce(累加器)
回调函数包含四个参数:acc 累加器,cur 当前值,idx 当前元素索引,arr 原数组
最好给累加器一个初始值。
如果不给初始值,acc 默认值为数组第一个元素,cur 从数组第二个元素开始,idx 从 1 开始。
1 | // 普通数组 |
reduceRight (累加器,从右到左)
参数同 reduce
方法
isArray(是否是数组)
1 | var arr = [1, 2] |
from (类数组转化为数组)
参数:arrayLike 类数组,mapFn 遍历函数
1 | Array.from('foo') // ['f', 'o', '0'] |
of (创建数组)
参数:数组的值
1 | Array.of(7) // [7] |
*copyWithin(target, start, end)(数组内浅复制元素)
参数:target 替换目标索引,start 开始复制索引,end 结束复制索引(不包含该位置)
复制后原数组被修改,数组长度维持不变
1 | var arr = [1, 2, 3, 4, 5] |
*fill (用一个固定的值填充数组)
参数:value 填充的值,start 起始索引, end 终止索引(不包含该位置)
1 | var arr = [1, 3, 4, 2] |
entries(返回可迭代对象)
1 | var arr = ['a', 'b', 'c'] |
keys(返回包含每个索引的可迭代对象)
1 | var arr = ['a', 'b', 'c'] |
values(返回包含每个值的可迭代对象)
1 | var arr = ['a', 'b', 'c'] |
[@@iterator]()
(iterator 方法)
返回值与 values
方法一样
1 | var arr = ['a', 'b', 'c'] |