Ответ 1
Есть ли альтернатива, которая делает то же самое?
A for... in
loop, в котором первое, что вы делаете в блоке кода, - это скопировать foo[propertyname]
в переменную.
Согласно странице MDN для каждой... в цикле эта конструкция устарела. Есть ли альтернатива, которая делает то же самое? Цикл for... цикла не перебирает нецелые (собственные перечислимые) свойства. Если альтернативы нет, почему они тогда ее осуждают?
Есть ли альтернатива, которая делает то же самое?
A for... in
loop, в котором первое, что вы делаете в блоке кода, - это скопировать foo[propertyname]
в переменную.
Чтобы перебрать все свойства объекта obj
, вы можете сделать это:
for (var key in obj) {
console.log(key, obj[key]);
}
Если вы хотите избежать унаследованных свойств, вы можете сделать это:
for (var key in obj) {
if (!obj.hasOwnProperty(key)) continue;
console.log(key, obj[key]);
}
Вы можете использовать новые функции ECMAScript 5th Edition:
Object.keys(obj).forEach(function (key) {
console.log(key, obj[key]);
});