array.shift()删除数组?

时间:2014-12-06 19:21:37

标签: javascript arrays 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;

但它不起作用。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

来自docs

  

shift方法删除零点索引处的元素并移位   连续索引处的值下降,然后返回已删除的值   值。如果length属性为0,则返回undefined。

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