会修改原数组
1、pop()删除数组最后一个元素,并返回这个元素。
shift()与pop()相似,但是删除数组的第一个元素
let arr = [0,1,2]
let res = arr.pop()
console.log(arr,res) // [0,1] 2
2、push()添加一个或多个元素到数组后尾,并返回这个数组的长度。
unshift()与push()类似,但是从头部添加
let arr = [0,1,2]
let res = arr.push(3,4)
console.log(arr) // [0,1,2,3,4]
console.log(res) // 5
3、splice(x,n, ...)从x位置开始截取,截取n个并返回被截取的元素,第三个参数是截取完了需要添加哪些元素,从x的位置开始添加
let arr = [0,1,2,3]
let res = arr.splice(1,2,6,7,8,9)
console.log(arr) // [0, 6, 7, 8, 9, 3]
console.log(res) // [1, 2]
4、reverse()逆转数组的顺序
5、sort()数组排序,默认从小到大,可接受一个函数
返回新数组,不改变原数组的API
1、concat()合并传入的数组,返回一个新数组。
let arr1 = [0,1,2]
let arr2 = [3,4]
let res = arr1.concat(arr2)
console.log(res) // [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