# 基础处理
# push()
方法可向数组的末尾添加一个或多个元素,并返回新的长度
const arr = ['a']
console.log(arr.push(1)) //2 把指定的值添加到数组后的新长度
console.log(arr) //["a", 1]
1
2
3
2
3
# pop()
方法用于删除并返回数组的最后一个元素
const arr = ['a', 1]
console.log(arr.pop()) //1 数组最后一个元素
console.log(arr) //["a"]
1
2
3
2
3
# unshift()
方法可向数组的开头添加一个或更多元素,并返回新的长度
const arr = ['a']
console.log(arr.unshift(1)) //2 数组新长度
console.log(arr) //[1, "a"]
1
2
3
2
3
# shift()
方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
const arr = ['a', 1]
console.log(arr.shift()) //a 数组原来的第一个元素的值
console.log(arr) //[1]
1
2
3
2
3
# slice()
方法可从已有的数组中返回选定的元素。
TIP
该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()
参数 | 描述 |
---|---|
start | 可选。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推 |
end | 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素 |
const arr = [0, 1, 2, 3, 4, 5, 6]
console.log(arr.slice(2, 3)) //[2]
console.log(arr.slice(2)) //[2, 3, 4, 5, 6]
console.log(arr.slice(-2)) //[5, 6]
console.log(arr.slice(-2, -1)) //[5]
console.log(arr) //不会修原数组 [0, 1, 2, 3, 4, 5, 6]
1
2
3
4
5
6
2
3
4
5
6
# splice()
方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素
TIP
该方法会改变原始数组
参数 | 描述 |
---|---|
index | 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置 |
end | 必需。要删除的项目数量。如果设置为 0,则不会删除项目 |
item1, ..., itemX | 可选。向数组添加的新项目 |
const arr = [0, 1, 2, 3, 4, 5, 6]
console.log(arr.splice(2, 1, 9)) //[2]
console.log(arr) //[0, 1, 9, 3, 4, 5, 6]
const arr2= [0, 1, 2, 3, 4, 5, 6]
console.log(arr2.splice(2, 1)) //[2]
console.log(arr2) //[0, 1, 3, 4, 5, 6]
1
2
3
4
5
6
7
2
3
4
5
6
7
# reverse()
方法用于颠倒数组中元素的顺序
TIP
该方法会改变原来的数组,而不会创建新的数组
const arr = [0, 1, 2, 3, 4, 5, 6]
console.log(arr.reverse()) //[6, 5, 4, 3, 2, 1, 0]
console.log(arr) //[6, 5, 4, 3, 2, 1, 0]
1
2
3
2
3
# concat()
方法用于连接两个或多个数组
TIP
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本
const arr = [1,2,3]
console.log(arr.concat(3, 4)) //[1, 2, 3, 3, 4]
console.log(arr) //[1, 2, 3]
const arr2 = [0, 1, 2]
const arr3 = [0, 1]
console.log(arr2.concat(arr3)) //[0, 1, 2, 0, 1]
console.log(arr2) //[0, 1, 2]
console.log(arr3) //[0, 1]
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# fill()
方法用于将一个固定值替换数组的元素
参数 | 描述 |
---|---|
value | 必需。填充的值 |
start | 可选。开始填充位置(默认为 0) |
end | 可选。停止填充位置 (默认为 array.length) |
const arr = [1,2,3]
console.log(arr.fill('a')) //["a", "a", "a"]
console.log(arr) //["a", "a", "a"]
const arr2 = [1,2,3]
console.log(arr2.fill('a', 1, 3)) //[1, "a", "a"]
console.log(arr2) //[1, "a", "a"]
1
2
3
4
5
6
7
2
3
4
5
6
7
# copyWithin()
方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中
参数 | 描述 |
---|---|
target | 必需。复制到指定目标索引位置 |
start | 可选。元素复制的起始位置(默认为 0) |
end | 可选。停止复制的索引位置 (默认为 array.length)。如果为负值,表示倒数 |
var arr = [0, 1, 2, 3, 4, 5];
console.log(arr.copyWithin(2, 0, 2)) //[0, 1, 0, 1, 4, 5]
console.log(arr) //[0, 1, 0, 1, 4, 5]
var arr2 = [0, 1, 2, 3, 4, 5];
console.log(arr2.copyWithin(2)) //[0, 1, 0, 1, 2, 3]
console.log(arr2) //[0, 1, 0, 1, 2, 3]
1
2
3
4
5
6
7
2
3
4
5
6
7
遍历 →