数组.shift() 是否删除数组



>我有一个数组,它有一个元素,我想使用proarray.shift();

var proarray=[];
proarray[0]=1;
//...
proarray.shift();
//...
proarray[i]=5;

但是当我这样做时,它会停止程序。它会删除阵列吗?如果是这样,我应该怎么做才能防止这种情况发生?因为我以后需要那个数组。

我也尝试使用

var proarray=[];
    proarray[0]=1;
    //...
    array.splice(0,1);
    //...
    proarray[i]=5;

但它没有用。

我该怎么办?

来自文档。

shift 方法删除 zeroeth 索引处的元素并移位 连续索引处的值向下索引,然后返回已删除的值 价值。如果 length 属性为 0,则返回未定义。

程序可能正在停止,因为您正在访问数组中不再存在的索引。

最新更新