javascript エラー「Uncaught TypeError: xxx is not iterable」の解決方法
- 作成日 2022.06.09
- 更新日 2022.12.20
- javascript
- javascript
javascriptで、エラー「Uncaught TypeError: xxx is not iterable」が発生した場合の原因と解決方法を記述してます。「反復可能」なオブジェクト以外に「for-of」を使用した際に発生します。
環境
- OS windows11 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 108.0.5359.99
エラー内容
以下の「for-of」を使用したコードで発生。
let obj = { a: 1, b: 2, c: 3 };
for (let i of obj) {
console.log(obj[i]);
}
エラーメッセージ
Uncaught TypeError: obj is not iterable
画像
firefox(バージョン107)でも、同様のエラーとなります。
Uncaught TypeError: obj is not iterable
画像
原因
「for-of」は、「反復可能」なオブジェクトでのみ使用できるため
解決方法
「Object.values」を使用するか、
let obj = { a: 1, b: 2, c: 3 };
console.log( Object.values(obj) ) // [1, 2, 3]
for (const value of Object.values(obj)) {
console.log(value);
}
「for-in」を使用する。
let obj = {a: 1, b: 2, c: 3 };
for (let i in obj) {
console.log(obj[i]);
}
実行結果
-
前の記事
winget バージョンを確認する 2022.06.08
-
次の記事
Linux 標準出力をファイルに書き込む 2022.06.09
コメントを書く