Array方法整理


常见方法

valueOf()

返回数组本身(不常用)

toString()

将数组转换为字符串,并且使用,隔开

push()

往数组的最后添加一个元素,返回改变后数组的长度
参数:添加的元素,多个用,分割

pop()

取出数组最后一个元素,并改变数组长度

shift()

取出数组第一个元素,并改变数组长度

unshift()

在数组的最前面插入元素

splice()

从数组中删除项目 或 向数组中添加项目,返回被删除的项目 参数:开始删除的位置,删除个数,新的项目(可选)

join()

自定义输出数组元素之间的分隔符 参数:分隔符,字符串类型 例:

1
[1, 2, 3].join('!')

输出结果为

1
1!2!3

reverse()

翻转数组,返回一个新的数组,不改变原数组

例:

1
const newArr = arr.reverse()

sort

数组排序,返回一个新数组,默认按字符编码从小到大排序(无用),常用来传入一个自定义排序方法作为形参使用

例(将数组arr按数字大小排序):

1
2
3
const myArr = arr.sort((a, b) => {
return b - a;
})

filter()

过滤一组想要的元素,返回一个新数组
参数:自定义过滤函数

例(过滤出大于10的元素):

1
2
3
const newArr = arr.filter(item => {
return item > 10;
})

findIndex()

根据传入自定义判断函数,返回符合条件的第一个元素位置,未找到时返回 -1
为数组中的每一个元素均调用一次函数执行,当查找到后,后续的元素不会再执行函数
对于空数组则不会执行,且不会改变数组的原始值

例:

1
const index = arr.findIndex(item => item === 2)

forEach()

对数组的每一个元素执行一次提供的函数运算
参数:自定义函数

注:内部不能使用 break 跳出循环, 也不能使用 return 从函数体内返回

例:

1
2
3
arr.forEach(item => {
item * 2;
})

find()

方法返回数组中满足提供的测试函数的第一个元素的值,否则为undefined
参数:自定义函数

例:

1
const obj = arr.find(item => item.a === 1)

注:当数组的元素为引用类型时,此值为元素的索引,即若获取的obj的值为 {a: 1},改变obj.a = 2,原数组内的元素也会变为{a: 2}

map()

对数组的每一个元素执行一次提供的函数运算,返回一个新数组
参数:自定义函数

例:

1
const newArr = arr.map(item => item * 2)

every()

判断一个数组内的所有元素是否都能通过某个函数的测试,空数组返回true
参数:自定义函数

例:

1
const boolean = arr.every(item => item > 2)

some()

判断一个数组内是否存在元素能通过某个函数的测试,空数组返回false
参数:自定义函数

例:

1
const boolean = arr.some(item => item > 2)

清空数组

  • arr = [](推荐)
  • arr.length = 0
  • arr.splice(0, arr.length)

封面

pixivId: 79620537