【发布时间】:2012-09-20 04:16:22
【问题描述】:
根据for each...in loop 的 MDN 页面,此构造已被弃用。有没有做同样事情的替代品? for...of loop 不会迭代非整数(自己的可枚举)属性。如果没有替代品,他们为什么要弃用它呢?
【问题讨论】:
标签: javascript for-loop foreach
根据for each...in loop 的 MDN 页面,此构造已被弃用。有没有做同样事情的替代品? for...of loop 不会迭代非整数(自己的可枚举)属性。如果没有替代品,他们为什么要弃用它呢?
【问题讨论】:
标签: javascript for-loop foreach
您可以使用新的 ECMAScript 5th Edition 功能:
Object.keys(obj).forEach(function (key) {
console.log(key, obj[key]);
});
【讨论】:
forinstatement 时从 eslint 解决 no-restricted-syntax 错误的方法。
是否有替代方案可以做完全相同的事情?
一个for ... in 循环,您在代码块中要做的第一件事就是将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]);
}
【讨论】: