数组删除元素

date
Mar 12, 2023
slug
js-array-delete
status
Published
tags
JavaScript数据结构与算法
Array
JavaScript
summary
JavaScript Array Delete Element
type
Post

删除元素

从数组末尾删除元素

nums.pop()

从数组开头删除元素

移除数组里的第一个元素:
for(let i = 0; i < nums.length; i++){
    nums[i] = nums[i + 1];
}
我们把数组里所有的元素都左移了一位,但数组的长度依然是 17,这意味着数组中有额外的一个元素(值是 undefined)。在最后一次循环里,i+1 引用了数组里还未初始化的一个位置。
notion image
​ 这个方法只是把数组第一位的值用第二位覆盖,并没有删除元素。想要移除 undefine 需要创建一个新的数组,将所有不是 undefine 的值从原来的数组复制到新的数组中,并且将新的数组赋值给我们的数组。
let nums = [0,1,2,3,4,5,6,7,8,9];
Array.prototype.reIndex = function(myArr){
    const newArr = [];
    for(let i = 0; i < myArr.length; i++)
    {
        if(myArr[i] !== undefined){
            newArr.push(myArr[i]);
        }
    }
    return newArr;
}

//手动移除第一个元素并重新排序
Array.prototype.removeFirstPosition=function(){
    for(let i = 0; i < this.length; i++)
    {
        this[i] = this[i+1];
    }
    return this.reIndex(this);
}
nums = nums.removeFirstPosition();
console.log(nums);

使用shift方法

nums.shift();

© shallrise 2025