Error:‘xxx‘ is not iterable 是不可迭代的
·
1、报错信息 " xxx is not iterable "
今天开发过程中,遇到了下面这个错误报警。
原因是由于今天开启了 ESLint ,导致我使用的 for in标红,然后我就没多想,换成了for of,警告信息确实是没了,但是测试过程出现了这个错误。
原因是什么呢?在JavaScript中, Object 是不可迭代的,除非它们实现了迭代协议。 因此,不能使用 for of 来迭代对象的属性。
2、解决方案 Object.keys( )
可以使用**Object.keys** 来迭代对象的属性或属性值。
let obj = {a:1,b:2,c:3};
for(let key of obj){
console.log(key,obj[key]);
}
// Object.keys + for of
for(let key of Object.keys(obj)){
console.log(key,obj[key]);
}
// Object.keys + forEach
Object.keys(obj).forEach( key =>{
console.log(key,obj[key])
})
3、试例
更多推荐
已为社区贡献4条内容
所有评论(0)