JavaScript: for文 ループ文
このページではJavaScriptのループ文の1つ、for文について説明します。
for文は繰り返し処理をする場合の制御文の1つで、最も使用頻度の高い繰り返し文です。
書式
for (初期値; 条件式; 増減式) {
実行文1;
実行文2;
実行文3;
}
実行文が1つしかない場合は中括弧{}が省略できます。
for (初期値; 条件式; 増減式)
実行文1;
使用例
下のプログラムをみれば初期値、条件式、増減式の意味や役割がわかると思います。 変数iが0から始まって、実行するたびに増減式 i++ に従って変数iの値は1ずつ増えていきます。 条件式(i < 5)がtrueの場合は実行文を実行します。 条件式(i < 5)がfalseの場合、ループを抜け出します。
// 初期値: i = 0
// 条件式: i < 5
// 増減式: i++
for (var i = 0; i < 5; i++){
console.log(i);
}
// 実行結果
0
1
2
3
4
ネスト(入れ子)の例
for文ではカウンタの役目をする変数としてiをよく使います。
for文の中にfor文を記述するネスト(入れ子)といわれる書き方をする場合は iの他にjやkを使ったりします。
次はネスト(入れ子)の例を見てみます。 外側のループが2回、内側のループが3回繰り返されます。
for (var i = 1; i < 3; i++){
for (var j = 1; j < 4; j++){
console.log(i* j);
}
}
// 実行結果
1
2
3
2
4
6
配列の値を取得
for文では、配列の要素をすべて取得するような使い方をよくします。 お約束のような書き方がありますので知っておきましょう。
配列のlengthプロパティで配列の長さ(要素数)が取得できますので、これを利用します。
var arr = [1,3,5]; for (i = 0; i < arr.length; i++){ console.log(arr[i]); } // 実行結果 1 3 5
省略もできる
あまり機会はありませんが、初期値、条件式、増減式はいずれも省略することができます。 省略する場合でも、2つのセミコロン(;)は必ず記述します。 全部省略した形は
for(;;)
となりますが、これはwhile(true)と同じように無限ループとなります。