Reindex javascript array/object после удаления ключа
Например:
var Cars = {
1: { "Make": "Honda",
"Model": "Accord",
"Color": "Red"
},
2: { "Make": "Honda",
"Model": "Civic",
"Color": "Silver"
},
3: { "Make": "Honda",
"Model": "Jazz",
"Color": "Yellow"
}
Если я сделаю delete.Cars[2];
, меня оставят Автомобили [1] и Автомобили [3].
Мне нужен способ (JS или jQuery), так что, когда я удаляю ключ, объект переиндексируется. Итак, в приведенном выше примере, я остался с Cars [1] и Cars [2] (который был Cars [3]).
Ответы
Ответ 1
Это потому, что вам не нужны ключи для массива.
var Cars = [
{
"Make": "Honda",
"Model": "Accord",
"Color": "Red"
},{
"Make": "Honda",
"Model": "Civic",
"Color": "Silver"
},{
"Make": "Honda",
"Model": "Jazz",
"Color": "Yellow"
}
];
alert(Cars[1]['Make']); // Honda
Ответ 2
Вы можете посмотреть на это:
Массив:
Javascript - переиндексация массива
Объект:
Алгоритм переиндексации массива объектов после вставки или перетаскивания "n" смены порядка сортировки
Он должен сделать трюк:)
Обращаясь к другим разработчикам в этом потоке, и я сам, лучше использовать Массив.