2010-09-03 3 views
1

У меня есть 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 - слишком долго, чтобы быть целым числом, требуемым методом сращивания?

Спасибо всем за любую помощь

ответ

1

Как уже упоминалось, индекс аргумент должен быть целым числом. Может быть, вы можете использовать объект, который содержит индексы следующим образом:

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

.... 

pointer[rand] = lastIndex; 
++lastIndex; 

Затем использовать его следующим образом:

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

Я прекратил использовать большое количество, и он работает. Ваш метод хорош. – Abs

-1

Попробуйте это:

delete freeze_array[ rand ]; 
+0

Это оставляет «дыры» в массиве, его не полное удаление. – Abs

0

Да индекс должен быть целым числом. Ваше значение слишком велико для целого числа. См. По адресу w3schools

индекс: обязательно. целое что указывает на какую позицию добавить/удалить элементы

Смежные вопросы