Есть разреженный массив:
var array = [];
array[10] =1;
array[20] =2;
Если к массиву добавить свое свойство:
то
for(var key in array) console.log(key + ': ' + array[key]);
вернет все ключи включая свойства.
А теперь вопрос:
Есть ли оптимальный способ получить все элементы с их индексами из массива (без свойств), не перебирая весь массив таким образом:
props = [];
for (var i = 0; i < object.length; i++) {
if (object[i] !== undefined) {
props.push({index: i, value: object[i]})
}
}