、五种方法
1. splice() 方法 - 删除指定索引位置的元素
语法:
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
1
注意事项:
splice() 方法会直接修改原数组。
需要提供两个参数:起始索引 start 和要删除的元素数量 deleteCount。
可选地,可以在删除元素后在其位置插入新的元素。
代码示例:
let myArray = [1, 2, 3, 4, 5]; myArray.splice(2, 1); // 删除索引为2的元素 console.log(myArray); // 输出: [1, 2, 4, 5] // 同时删除并插入元素 myArray.splice(2, 1, 'a', 'b'); console.log(myArray); // 输出: [1, 2, 'a', 'b', 4, 5]
2. pop() 方法 - 删除并返回数组最后一个元素
语法:
array.pop()
1
注意事项:
pop() 方法会直接修改原数组,减少数组长度。
它返回被删除的最后一个元素。
代码示例:
let myArray = [1, 2, 3]; let lastElement = myArray.pop(); console.log(lastElement); // 输出: 3 console.log(myArray); // 输出: [1, 2]
3. shift() 方法 - 删除并返回数组第一个元素
语法:
array.shift()
1
注意事项:
shift() 方法同样会直接修改原数组,减少数组长度。
它返回被删除的第一个元素。
代码示例:
let myArray = [1, 2, 3]; let firstElement = myArray.shift(); console.log(firstElement); // 输出: 1 console.log(myArray); // 输出: [2, 3]
4. delete 操作符 - 删除指定索引位置的元素(保留数组长度,但使该位置值为 undefined)
注意事项:
delete 不是数组专用方法,而是JavaScript通用操作符。
使用 delete 会使得数组在相应索引上的值变为 undefined,但数组长度不变。
代码示例:
let myArray = [1, 2, 3, 4, 5]; delete myArray[2]; console.log(myArray); // 输出: [1, 2, undefined, 4, 5]
5. 设置 length 属性 - 快速删除数组尾部之外的所有元素
注意事项:
直接设置数组的 length 属性可以缩短数组,所有索引大于新 length 值的元素都会被删除。
代码示例:
let myArray = [1, 2, 3, 4, 5]; myArray.length = 3; console.log(myArray); // 输出: [1, 2, 3]
二、注意事项总结
splice() 适合删除任意位置的元素,且可以一次删除多个。
pop() 和 shift() 分别用于删除末尾和头部的单个元素。
使用 delete 操作符会导致数组中出现 undefined 值,而非真正缩小数组大小。
调整 length 属性可快速截断数组,但请确保了解其对数组影响的特殊性。