for inとfor of配列専用繰り返し文

JavaScript配列おまけ編、繰り返し文for in for ofです。JavaScriptのfor in文は要素としてインデックスを取得するのにJavaScriptのfor of文は要素の値を取得するのに使います。ただし順番は保証されていませんので、順番を重視する場合はfor文を利用してください。

for in文

for in文の書き方は次のようにします。

for (変数名 in 配列名){
実行する文1;
実行する文2;

}

ここから配列の要素をとりだすには2通りのパターンがあります。

インデックスを取得する

配列の要素を取得すると思いきや次のサンプルではインデックスが出てきます。

//配列を作成
let ekimei = ["東京", "新橋", "品川", "川崎", "横浜"];
for (let i in ekimei) {
document.write(i);
}
実行結果
01234

変数iはインデックスになりましたね

要素を取得する

次のサンプルは要素を取得できます。

//配列を作成
let ekimei = ["東京", "新橋", "品川", "川崎", "横浜"];
for (let i in ekimei) {
document.write(ekimei[i]);
}
実行結果
東京新橋品川川崎横浜

これすごく便利とおもいきや、残念ながら万能じゃないんですね、冒頭でも書きましたがfor in文は順番が保証されていません。なので、順番が関係ない場合に使ってください。順番が必要な場合はfor文で対処です。

for of文

for of文の書き方は次のようになります。

for (変数名 of 配列名){
実行する文;
}

実際に書いてみるとこんな風になります。

//配列を作成
let ekimei = ["東京", "新橋", "品川", "川崎", "横浜"];
for (let i of ekimei) {
document.write(i);
}
実行結果
東京新橋品川川崎横浜

変数iに配列の要素を格納する動作を、配列の数だけ繰り返します。簡単ですね

とおもいきや、ここも問題があります。for of文がつかえるのは「イテラブル(iterable)・オブジェクトが含まれているオブジェクトだけである」というわけのわからないルールがあります。

難しい言葉はここでは掲載しませんので、とりあえず最初のうちはforEachメソッドを利用することをおススメします。


 

以上for in文とfor of文の学習でした。

 

このページはこれでおしまいです。

お疲れ様でした!

前のページ  INDEX  次のページ

コメント