有多种方法可以从数组中删除元素。让我指出下面最常用的选项。我正在写这个答案,因为我找不到从所有这些选项中使用什么的适当理由。问题的答案是选项 3 (Splice())。
1) SHIFT() - 从原始数组中删除第一个元素并返回第一个元素
请参阅Array.prototype.shift() 的参考资料。仅当您想删除第一个元素并且仅当您可以更改原始数组时才使用此选项。
const array1 = [1, 2, 3];
const firstElement = array1.shift();
console.log(array1);
// expected output: Array [2, 3]
console.log(firstElement);
// expected output: 1
2) SLICE() - 返回数组的副本,由开始索引和结束索引分隔
请参阅Array.prototype.slice() 的参考资料。您不能从此选项中删除特定元素。您只能对现有数组进行切片并获得数组的连续部分。这就像从您指定的索引中剪切数组一样。原数组不受影响。
const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
console.log(animals.slice(2));
// expected output: Array ["camel", "duck", "elephant"]
console.log(animals.slice(2, 4));
// expected output: Array ["camel", "duck"]
console.log(animals.slice(1, 5));
// expected output: Array ["bison", "camel", "duck", "elephant"]
3) SPLICE() - 通过删除或替换特定索引处的元素来更改数组的内容。
请参阅Array.prototype.splice() 的参考资料。 splice() 方法通过删除或替换现有元素和/或在适当位置添加新元素来更改数组的内容。返回更新的数组。原始数组得到更新。
const months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb');
// inserts at index 1
console.log(months);
// expected output: Array ["Jan", "Feb", "March", "April", "June"]
months.splice(4, 1, 'May');
// replaces 1 element at index 4
console.log(months);
// expected output: Array ["Jan", "Feb", "March", "April", "May"]