一、改變數組自身
JavaScript中,可以直接使用數組的_shift()方法來刪除第一個元素,該方法會改變原數組自身,返回被刪除的元素。
var arr = [1, 2, 3, 4, 5]; arr.shift(); console.log(arr); // [2, 3, 4, 5]
該方法的時間複雜度為O(n),因為每個元素都需要向前移動一位。
二、使用slice方法
通過使用數組的slice()方法可以返回一個新的數組,並且可以通過指定開始位置來刪除第一個元素。
var arr = [1, 2, 3, 4, 5]; var newArr = arr.slice(1); console.log(newArr); // [2, 3, 4, 5]
該方法的時間複雜度為O(n),因為需要創建新數組並且要把原數組中剩餘的元素一個一個複製到新數組中。
三、使用filter方法
通過使用數組的filter()方法,可以返回一個新數組,並且可以通過回調函數來刪除第一個元素。
var arr = [1, 2, 3, 4, 5]; var newArr = arr.filter(function(item, index){ return index !== 0; }); console.log(newArr); // [2, 3, 4, 5]
該方法的時間複雜度為O(n),因為需要遍歷整個數組並調用回調函數。
四、使用splice方法
splice()方法用於向或從數組中添加或刪除元素。通過使用該方法,可以刪除第一個元素,並且該方法會改變原數組自身。
var arr = [1, 2, 3, 4, 5]; arr.splice(0, 1); console.log(arr); // [2, 3, 4, 5]
該方法的時間複雜度為O(n),因為需要把被刪除的元素之後的元素向前移動一位。
五、使用ES6中的解構賦值
使用ES6中的解構賦值可以快速的刪除一個數組的第一個元素,並且不會影響原數組。
var arr = [1, 2, 3, 4, 5]; var [, ...newArr] = arr; console.log(newArr); // [2, 3, 4, 5]
該方法的時間複雜度為O(n),因為需要創建新數組並把原數組中剩餘的元素一個一個複製到新數組中。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/310079.html