一、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()方法來過濾掉要刪除的元素。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/188647.html