Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Forループによる配列の反復処理 | ループ
TypeScript入門

bookForループによる配列の反復処理

メニューを表示するにはスワイプしてください

適切な配列操作はループから始まる

すでに配列とは何か、そして配列のインデックスがゼロから始まることを知っています。また、forループでは変数iに任意の値を代入できることも理解しています。例えば、ゼロです。しかし、forループと配列を組み合わせて使うと便利な場合はどうでしょうか?考えてみましょう:

  • 配列から要素を取得する場合、array[index];を使用します;
  • 変数iは実質的にインデックスの役割を果たします;
  • 上記2点を組み合わせると、forループ内でarray[i]構文を使って配列を効率的に操作できると結論付けられます。例を見てみましょう:
12345
let array: number[] = [2, 4, 6, 1, 7, 1, 4, 77, 23, 0]; for (let i: number = 0; i < 10; i++) { console.log(`The ${i} element in the array is ${array[i]}`) }
copy

上記のコードで何が起こっているかを分解してみましょう:

  1. 10個の要素を持つnumber型の配列を作成します;
  2. 配列の各要素を調べて、どのインデックスにあるかを確認することが目的です;
  3. 配列のインデックスは0から始まるため、変数iの初期値は0です。また、**上限は配列の長さ(10)**に設定します;
  4. iが要素のインデックスであることを利用し、配列の要素を取得してarray[i];で画面に表示します;
  5. iが配列内の要素のインデックスであるため、特定の要素がどのインデックスにあるかをすぐに示すことができます。

このようにして配列とやり取りできます。次は別の課題として、この配列の偶数インデックスにある各要素を取得してみましょう:

12345
let array: number[] = [2, 4, 6, 1, 7, 1, 4, 77, 23, 0]; for (let i: number = 0; i < 10; i+=2) { console.log(`The ${i} element in the array is ${array[i]}`) }
copy

i+=2i = i + 2と同じ意味)を使用することで、配列内の偶数インデックスに位置するすべての要素を取得。つまり、要素のインデックスが2で割り切れる必要がある。該当するインデックスは0、2、4、6など。また、iを使うことで、上記の例のように要素のインデックスも表示可能。

ちなみに、配列のサイズを手動で数える必要はない。配列のプロパティarray.lengthを利用可能。例を見てみよう。同時に、配列を末尾から先頭へ(逆順で配列を走査する必要がある場合)ループする方法も確認。

12345
let array: number[] = [2, 4, 6, 1, 7, 1, 4, 77, 23, 0]; for (let i: number = array.length - 1; i >= 0; i--) { console.log(`The ${i} element in the array is ${array[i]}`) }
copy

上記の例では、iarray.length - 1 で初期化しています。これは array.length が 10 であり、配列の最後の要素のインデックスが 9 であるためです。ゼロベースのインデックス方式によるものです。

さらに、array.length初期化だけでなく、条件式にも使用できます。これらすべてに対してさまざまな例を考えることができ、必要なのは少しの想像力と具体的なユースケースです。例えば:

123456789
let array: number[] = [2, 4, 6, 1, 7, 1, 4, 77, 23, 0]; for (let i: number = 0; i < array.length; i++) { if ((array.length - i) % 2 == 0) { console.log(`The ${i} element in the array is ${array[i]}`) } else { console.log("[DELETED DATA]") } }
copy

配列の長さからインデックスを引いた値が2で割り切れる場合、その要素を表示します。それ以外の場合は「DELETED DATA」を表示します——これは上司の指示です。

question mark

TypeScriptで配列を扱う際のforループの目的は何ですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 4.  6

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 4.  6
some-alt