Что вы пробовали? Если я выдаю
var array = [];
array[0] = {id:0};
array[1] = {id:1};
array[2] = {id:2};
array.splice(0,1);
for (var i = 0, len = array.length; i < len; i++)
console.log(i + ":", array[i]);
двигатель правильно выводит
0: Object { id=1 }
1: Object { id=2 }
(но индексы массива меняются на 0
и 1
, возможно, именно это вас смущает; помните, что Array.splice
по умолчанию удаляет элемент 0
вперед и сдвигает все оставшиеся элементы вниз).
Обновление: Помимо того, что вы всегда можете получить свойство id
отдельных объектов, используя array[i].id
, вы можете удалять элементы массива, не сдвигая другие элементы, используя оператор delete
, После того, как я заменил array.splice(0,1)
на
delete array[0];
вывод показывает
0: undefined
1: Object { id=1 }
2: Object { id=2 }