Для тех , кто использует объекты , которые не являются 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