Splice方法不会删除数组

时间:2010-09-03 13:18:55

标签: javascript jquery

我有一个包含自定义索引的javascript,我创建它们是这样的:

var rand = event.timeStamp; //jquery on click event object

freeze_array[rand] = month + ',' + model_name + ',' + activity;

要删除上述元素我有:

freeze_array.splice(rand, 1); 

但这并没有删除元素,因为我可以在我的firebug dom对象查看器中看到它。以下是该数组的示例:

我的索引采用以下形式:1283519490632 - 太长而不能成为splice方法所需的整数?

感谢大家的帮助

3 个答案:

答案 0 :(得分:1)

正如您所提到的,index参数必须是整数。也许您可以使用包含索引的对象,如下所示:

var lastIndex=0; // that shall be global...
var pointer = {};

....

pointer[rand] = lastIndex;
++lastIndex;

然后按如下方式使用:

freeze_array = freeze_array.splice(pointer[rand], 1); 

答案 1 :(得分:0)

是索引必须是整数。您的值对于整数来说太大了。 见w3schools

  

索引:必填。 整数表示   指定在什么位置   添加/删除元素

答案 2 :(得分:-1)

试试这个:

delete freeze_array[ rand ];