js常用的数组处理办法(合集)
1、pop()
删除数组最后一个元素,并返回这个元素。
shift()
与pop()相似,但是删除数组的第一个元素
let a = [0,1,2]
let r = a.pop()
console.log(a,r) // [0,1] 2
2、push()
添加一个或多个元素到数组后尾,并返回这个数组的长度。
unshift()
与push()类似,但是从头部添加
let a = [0,1,2]
let r = a.push(3,4)
console.log(a) // [0,1,2,3,4]
console.log(r) // 5
3、splice(x,n, ...)
从x位置开始截取,截取n个并返回被截取的元素,第三个参数是截取完了需要添加哪些元素,从x的位置开始添加
let a = [0,1,2,3]
let r = a.splice(1,2,6,7,8,9)
console.log(a) // [0, 6, 7, 8, 9, 3]
console.log(r) // [1, 2]
4、reverse()
逆转数组的顺序
5、sort()
数组排序,默认从小到大,可接受一个函数
返回新数组,不改变原数组的API
1、concat()
合并传入的数组,返回一个新数组。
let a = [0,1,2]
let a = [3,4]
let r = a.concat(arr2)
console.log(r) // [0,1,2,3,4]
2、slice()
截取数组,支持传入两个参数,第一个从0开始,第二个结束的位置(不包括此位置的元素)(可传可不传,不传就到结束)
let arr = [1,2,3,4,5,6]
let result = arr.slice(0,3)
console.log(result) // [1, 2, 3]
3、join()
将数组拼接成字符串
let arr = [1,2,3,4,5,6]
let result = arr.join('')
console.log(result) // 123456
4、indexOf()
查找元素在数组中第一次出现时的索引,如果没有就返回-1
5、lastIndexOf()
查找元素在数组中最后一次出现时的索引,如果没有就返回-1
数组遍历
forEach()
map()
filter()
reduce()方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
reduce() 可以作为一个高阶函数,用于函数的 compose。
注意:reduce()
对于空数组是不会执行回调函数的。
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
initialValue:可选,用于传入函数的初始值
let arr = [1, 2, 3, 4, 5, 6];
let result = arr.reduce((sum, item) => sum+=item,10);
console.log(arr) // [1, 2, 3, 4, 5, 6]
console.log(result) // 31