Для тех , кто использует объекты , которые не являются Arrayили даже массив , как вы можете создать свою собственную итерацию легко , так что вы все еще можете использовать for ofдля таких вещей , как , localStorageкоторые на самом деле есть только length:
function indexerator(length) {
var output = new Object();
var index = 0;
output[Symbol.iterator] = function() {
return {next:function() {
return (index < length) ? {value:index++} : {done:true};
}};
};
return output;
}
Тогда просто введите номер:
for (let index of indexerator(localStorage.length))
console.log(localStorage.key(index))
for-ofс ,.entries()и это в два раза медленнее по сравнению с.forEach(). jsperf.com/for-of-vs-foreach-with-index