1. エラー メッセージ「xxx は反復可能ではありません」
今天开发过程中,遇到了下面这个错误报警。
理由は、今日ESLint がオンになっていたため、使用していたfor in が赤く表示されていたため、あまり気にせずfor ofに変更したところ、確かに警告メッセージは消えましたが、このエラーが発生しましたテスト中。
理由は何ですか?JavaScript では、反復可能なプロトコルを実装しない限り、オブジェクトは反復可能ではありません。したがって、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])
})