测验

如何添加、删除和更新数组中的元素?

主题
JavaScript
在GitHub上编辑

TL;DR

要向数组添加元素,可以使用 pushunshiftsplice 等方法。要删除元素,可以使用 popshiftsplice。要更新元素,可以直接访问数组索引并分配一个新值。

let arr = [1, 2, 3];
// Add elements
arr.push(4); // [1, 2, 3, 4]
arr.unshift(0); // [0, 1, 2, 3, 4]
arr.splice(2, 0, 1.5); // [0, 1, 1.5, 2, 3, 4]
// Remove elements
arr.pop(); // [0, 1, 1.5, 2, 3]
arr.shift(); // [1, 1.5, 2, 3]
arr.splice(1, 1); // [1, 2, 3]
// Update elements
arr[1] = 5; // [1, 5, 3]
console.log(arr); // Final state: [1, 5, 3]

注意:如果在某些环境(如 Chrome DevTools)中尝试在每次操作后使用 console.log(arr),您可能只能看到 arr 的最终状态。这是因为控制台有时会保留对数组的实时引用,而不是记录其确切时刻的状态。要正确查看中间状态,请使用 console.log([...arr]) 存储快照,或在每次操作后立即打印值。


向数组添加元素

使用 push

push 方法将一个或多个元素添加到数组的末尾,并返回数组的新长度。

let arr = [1, 2, 3];
console.log(arr.push(4)); // Output: 4 (new length of array)
console.log(arr); // [1, 2, 3, 4]

使用 unshift

unshift 方法将一个或多个元素添加到数组的开头,并返回数组的新长度。

let arr = [1, 2, 3];
console.log(arr.unshift(0)); // Output: 4 (new length of array)
console.log(arr); // [0, 1, 2, 3]

使用 splice

splice 方法可以在数组中的任何位置添加元素。第一个参数指定开始更改数组的索引,第二个参数指定要删除的元素数量,其余的是要添加的元素。

let arr = [1, 2, 3];
arr.splice(1, 0, 1.5); // Removes no element, but adds 1.5
console.log(arr); // [1, 1.5, 2, 3]

从数组中删除元素

使用 pop

pop 方法从数组中删除最后一个元素并返回该元素。

let arr = [1, 2, 3];
console.log(arr.pop()); // Output: 3
console.log(arr); // [1, 2]

使用 shift

shift 方法从数组中删除第一个元素,并返回该元素。

let arr = [1, 2, 3];
console.log(arr.shift()); // Output: 1
console.log(arr); // [2, 3]

使用 splice

splice 方法也可以从数组中的任何位置删除元素。第一个参数指定开始更改数组的索引,第二个参数指定要删除的元素数量。

let arr = [1, 2, 3, 4];
console.log(arr.splice(1, 2)); // Output: [2, 3]
console.log(arr); // [1, 4]

更新数组中的元素

直接赋值

您可以通过直接访问索引并分配新值来更新数组中的元素。

let arr = [1, 2, 3];
arr[1] = 5;
console.log(arr); // [1, 5, 3]

延伸阅读

在GitHub上编辑