Działa to dobrze dla mnie:Iterate nad obiektem w ES6
const iterable = [1, 2, 3];
for (const value of iterable) {
console.log(value);
}
Jednak to nie działa:
const iterable = {1:10, 2:20, 3:30};
for (const value of iterable) {
console.log(value);
console.log(iterable[value]);
}
Zamiast dając mi błąd:
Uncaught TypeError: iterable[Symbol.iterator] is not a function(…)
Jak powinien Robię to?
To jest to, co robię teraz:
for(const value in iterable){
if (iterable.hasOwnProperty(value)) {
console.log(value);
console.log(iterable[value]);
}
}
Czy chodziło Ci o "za ... w"? I nie, pierwszy przykład też nie powinien "działać". – Bergi
Nie powinieneś tego robić. Po prostu użyj pętli 'for ... in'. Nie potrzebujesz sprawdzenia '.hasOwnProperty', btw. – Bergi