📅  最后修改于: 2023-12-03 14:53:00.117000             🧑  作者: Mango
在 JavaScript 中,有时候我们需要复制数组中的所有元素,但是又不需要第一个元素。下面介绍两种方法来实现这个目标。
slice()
方法和 concat()
方法slice()
方法可以用来获取一部分数组,参数为起始位置和结束位置,返回一个新的数组;concat()
方法可以用来连接多个数组,返回一个新的数组。我们可以使用这两个方法结合起来,先取出除了第一个元素以外的数组部分,再将其与一个空数组连接起来,得到一个新的数组。
const originalArray = [1, 2, 3, 4, 5];
const newArray = [].concat(originalArray.slice(1));
console.log(newArray); // [2, 3, 4, 5]
这里首先使用 slice(1)
方法得到 [2, 3, 4, 5]
,然后使用 concat()
方法将其与一个空数组 []
连接,得到新的数组 [2, 3, 4, 5]
。
splice()
方法和扩展运算符splice()
方法可用于添加或删除数组的元素,参数为起始位置、删除的元素个数和可选的用于插入的新元素。我们可以使用 splice()
方法来删除第一个元素,然后使用扩展运算符 ...
将原数组中的剩余元素复制到一个新的数组中。
const originalArray = [1, 2, 3, 4, 5];
const [_, ...newArray] = originalArray;
console.log(newArray); // [2, 3, 4, 5]
这里将 [1, 2, 3, 4, 5]
解构为 [_,...newArray]
,其中 ...newArray
表示复制 2,3,4,5
,并保存在 newArray
中。由于我们不需要第一个元素,所以使用一个占位符 _
来表示该位置是不需要的。
以上两种方法均能够实现复制数组中的所有元素,除了第一个元素的目标。在使用过程中,具体选择取决于个人喜好和使用场景。