こんにちはフロントエンドエンジニアのまさにょんです!
今回は、JavaScript(TypeScirpt)のfor-of文でindexの値も取得する方法と、Type IterableIteratorエラーの解決方法について解説していきます。
目次
for-of文でindexの値も取得する方法と、TypeScriptで使用する場合の注意点
for-of文でindexの値も取得する方法
for-of
文を使うときにindex
の値も同時に取得したい場合は、次のような処理をします。
const numList = [0, 1, 2, 3, 6, 12];
// [key, value] ペアの配列イテレーターを作成 & 分割代入
for (const [index, num] of numList.entries()) {
console.log(`index: ${index}, num: ${num}`);
}
ポイントは、次の2点です。
Array.entries()
で[key, value]
ペアの配列イテレーターを作成する。[key, value]
の形で分割代入してfor of
を回す。
TypeScriptで、for-of文でindexの値も取得する場合の注意点
TypeScriptで、for-of文でindexの値も取得する場合、次のようなType IterableIterator
エラーが発生する場合があります。
これはtsconfig.json
のtarget
を ES5
以下に設定している場合に発生するエラーになります。
tsconfig.json
のcompilerOptions
に"downlevelIteration": true
を追加することで、このコンパイルエラーは解決できます。
{
"compilerOptions": {
"target": "es5",
"downlevelIteration": true,
},
}
JavaScript書籍 Ver. 中級-上級者向け
JavaScript書籍 Ver. 初級者向け
Twitterやってます!Follow Me!
神聖グンマー帝国の逆襲🔥
神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!