您的位置:

从多个方面详细阐述JS删除数组第一个元素

一、Methods to delete the first element of an array in JS

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

字面上看,shift()方法的功能就是把数组的第一个元素删除掉,并返回被删除的元素。但需要注意的是,这个方法会改变原数组,也就是说,你的arr数组将永久失去其第一个元素。

当使用shift()时,每个元素的下标会被减1,这意味着我们可以通过不断删除第一个元素来完全清空数组。

let arr = [1,2,3,4,5];
while(arr.length > 0){
    arr.shift();
    console.log(arr);
}
// output: [2,3,4,5]
// output: [3,4,5]
// output: [4,5]
// output: [5]
// output: []

二、Methods to delete the last element of an array in JS

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

与shift()方法不同,pop()方法可以删除数组中的最后一个元素并返回被删除的元素。

三、Deleted first element through splice()

let arr = ["a", "b", "c", "d", "e"];
arr.splice(0, 1);
console.log(arr);
// output: ["b", "c", "d", "e"]

splice()是一个更灵活,更有用的方法。它不仅可以删除第一个元素,还可以根据需要删除数组中的您选择的任何元素。第一个参数设置要删除的开始位置,第二个参数设置要删除的元素数。此方法还返回被删除的元素的数组,如果不需要返回该元素,可以忽略该参数。

四、Array destructuring

let arr = ["a", "b", "c", "d", "e"];
let [first, ...rest] = arr;
console.log(rest);
// output: ["b", "c", "d", "e"]

ES6引入了解构语法,可以快速而简单地将数组分解为单独的变量,而无需改变原始数组。这通过在变量名前添加省略号运算符实现。在上面的代码中,我们定义了一个first变量和一个rest变量,它们接收数组的第一个元素和其余的元素。

五、使用delete删除数组的任意元素

let arr = ["a", "b", "c", "d", "e"];
delete arr[3];
console.log(arr);
// output: ["a", "b", "c", undefined, "e"]

delete操作符可以从数组中删除一个元素,但这不会改变数组的长度。删除元素后,数组会保留一个undefined值。

六、使用filter()方法来删除指定元素

let arr = ["a", "b", "c", "d", "e"];
arr = arr.filter(item => item !== "c");
console.log(arr);
// output: ["a", "b", "d", "e"]

filter()方法接受一个回调函数,该函数定义了要在数组中保留的元素。此函数必须返回一个Boolean值,表示元素是否应该保留(true)或移除(false)。

在上面的代码中,我们定义了一个回调函数,它会将数组中不等于"c"的元素保留下来,这就相当于从数组中删除了"c"元素。

七、使用slice()方法删除数组中的元素

let arr = ["a", "b", "c", "d", "e"];
let newArr = arr.slice(1);
console.log(newArr);
// output: ["b", "c", "d", "e"]
console.log(arr);
// output: ["a", "b", "c", "d", "e"]

与splice()方法不同,slice()方法是不改变原数组的。它会返回一个新的数组,其中包含从开始位置到结束位置的所有元素。在上面的代码中,我们将从第二个元素开始的所有元素赋值给一个新的数组。

八、总结

在JavaScript中,删除数组元素的方法有很多种,范围涉及从删除第一个元素到删除任意元素。最常用的删除数组元素的方法是用shift()或splice()方法删除第一个元素,或用pop()方法删除最后一个元素。其他方法包括使用数组解构,删除数组中的任意元素,使用filter()或slice()方法来过滤掉要删除的元素。