1.push(element)——改变原数组,返回新数组的长度
向队尾添加元素
let arr = [1, 2, 3, 4]
console.log(arr.push(5)) //5
console.log(arr) //[1, 2, 3, 4, 5]
2.pop()——改变原数组,返回被删除的元素
从队尾删除元素
let arr = [1, 2, 3, 4]
console.log(arr.pop()) //4
console.log(arr) //[1, 2, 3]
3.unshift(element)——改变原数组,返回新数组的长度
向队首添加元素
let arr = [1, 2, 3, 4]
console.log(arr.unshift(5)) //5
console.log(arr) //[5, 1, 2, 3, 4]
4.shift()——改变原数组,返回被删除的元素
从队首删除元素
let arr = [1, 2, 3, 4]
console.log(arr.shift()) //1
console.log(arr) //[2, 3, 4]
5.concat(arr)——原数组不变,返回新数组
连接数组
let arr = [1, 2, 3, 4]
let arr = ['a', 'b']
console.log(arr.concat(arr2)) //[1, 2, 3, 4, 'a', 'b']
console.log(arr) //[1, 2, 3, 4]
console.log(arr2) //['a', 'b']
6.splice(index,num)——改变原数组,返回被删除的元素
删除元素,从index开始向后num个
let arr = [1, 2, 3, 4, 5, 6, 7]
console.log(arr.splice(2, 3)) //[3, 4, 5]
console.log(arr) //[1, 2, 6, 7]
*还可以j继续增加参数,表示在删除的位置加入新元素
let arr = [1, 2, 3, 4, 5, 6, 7]
console.log(arr.splice(2, 3, ...[8, 9])) //[3, 4, 5]
console.log(arr) //[1, 2, 8, 9, 6, 7]
…(展开运算符)
…[8, 9] => 8, 9
7.reverse()——改变原数组,返回反转后的数组
翻转数组,将数组逆序显示
let arr = [1, 2, 3, 4, 5, 6, 7]
let arr2 = arr.reverse()
console.log(arr2) //[7, 6, 5, 4, 3, 2, 1]
console.log(arr) //[7, 6, 5, 4, 3, 2, 1]
//当修改arr时
arr.push(9)
console.log(arr2); //[7, 6, 5, 4, 3, 2, 1, 9]
//说明arr和arr2指向栈中的同一数据
8.join(string)——原数组不变,返回字符串
将数组以某种形式拼接成字符串
let arr = [1, 2, 3, 4, 5, 6, 7]
console.log(arr.join('-')) //1-2-3-4-5-6-7
9.forEach(function)——原数组不变,没有return
遍历数组的每一个元素,对每一个item做处理
let arr = [1, 2, 3, 4, 5]
let n_arr = []
arr.forEach(
item => {
n_arr.push(item + 2)
}
)
console.log(arr) //[1, 2, 3, 4, 5]
console.log(n_arr) //[3, 4, 5, 6, 7]
10.map(function)——原数组不变,返回新数组
遍历数组,必须要有return
let arr = [1, 2, 3, 4, 5]
let n_arr = arr.map(
item => {
return item + 2
}
)
console.log(arr) //[1, 2, 3, 4, 5]
console.log(n_arr) //[3, 4, 5, 6, 7]
11.filter(function)——原数组不变,返回新数组
寻找数组中符合条件的元素
let arr = [1, 2, 3, 4, 5]
let n_arr = arr.filter(
item => {
return item > 3
}
)
console.log(arr) //[1, 2, 3, 4, 5]
console.log(n_arr) //[4, 5]
12.find(function)——原数组不变,返回对应的元素
寻找数组中符合条件的第一个元素
let arr = [1, 2, 3, 4, 5]
let n_arr = arr.find(
item => {
return item > 3
}
)
console.log(arr) //[1, 2, 3, 4, 5]
console.log(n_arr) //4
13.indexOf(element)
寻找数组中等于参数的第一个元素
如果存在,返回索引值;如果不存在,返回-1
let arr = [5, 1, 2, 3, 4, 5]
let n_item = arr.lastIndexOf(5)
console.log(arr) //[5, 1, 2, 3, 4, 5]
console.log(n_item) //0
*可以增加一个参数表示查询的起始索引值
let arr = [5, 1, 2, 3, 4, 5]
let n_item = arr.indexOf(5, 2)
console.log(arr) //[5, 1, 2, 3, 4, 5]
console.log(n_item) //5
14.lastIndexOf(element)
寻找数组中等于参数的最后一个元素
如果存在,返回索引值;如果不存在,返回-1
let arr = [5, 1, 2, 3, 4, 5]
let n_item = arr.lastIndexOf(5)
console.log(arr) //[5, 1, 2, 3, 4, 5]
console.log(n_item) //5
*可以增加一个参数表示查询的起始索引值
15.sort(function)——修改原数组
对数组元素进行排序
function表示排序方式
let arr = [5, 1, 2, 3, 4, 5]
console.log(arr.sort()) //[1, 2, 3, 4, 5, 5]
console.log(arr) //[1, 2, 3, 4, 5, 5]
16.reduce(function)
遍历数组做累计
let arr = [1, 2, 3, 4, 5]
let sum = arr.reduce(
(res, item) => {
return res + item //累加
}
)
console.log(sum); //15