根据 MDN 页面上的 for each...in 循环,这个结构已经被弃用了。有没有完全相同的替代方案?for...of 循环 不会迭代非整数(自身可枚举)属性。如果没有替代方案,为什么要弃用它呢?
要遍历对象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第5版函数:
Object.keys(obj).forEach(function (key) {
console.log(key, obj[key]);
});
eslint
在使用for...in
语句时出现“no-restricted-syntax”错误的方法。 - pherris有没有其他的替代方法可以达到同样的效果?
使用 for ... in
循环,在循环代码块中首先将 foo[propertyname]
拷贝到一个变量中。