01 / 06
JSコースの集大成
最後は for × if-else if × 配列。全要素を三択以上に分類するパターンだよ。
成績のABC、サイズのSML、料金の三段階……現実の分類はたいてい三択以上。これが書ければ、JSの基礎は卒業だ。
くり返しとデータの持ち方
INPUT · スライド
01 / 06
最後は for × if-else if × 配列。全要素を三択以上に分類するパターンだよ。
成績のABC、サイズのSML、料金の三段階……現実の分類はたいてい三択以上。これが書ければ、JSの基礎は卒業だ。
02 / 06
for 文の中に if-else if を入れるだけ。新しい文法は何もない。
知っている道具の組み合わせで、できることが爆発的に増える——プログラミングのいちばん楽しいところだよ。
let scores = [95, 75, 40];for (let i = 0; i < scores.length; i++) { if (scores[i] >= 90) { console.log("A"); } else if (scores[i] >= 70) { console.log("B"); } else { console.log("C"); }}実行結果
A B C
03 / 06
カウンターを3本用意すれば、各ランクの人数も一度のループで数えられる。
集計・分類・表示——アプリの画面はこの組み合わせでできている。
let scores = [95, 75, 40, 88];let a = 0;let b = 0;let c = 0;for (let i = 0; i < scores.length; i++) { if (scores[i] >= 90) { a = a + 1; } else if (scores[i] >= 70) { b = b + 1; } else { c = c + 1; }}console.log(a);console.log(b);console.log(c);実行結果
1 2 1
04 / 06
else if は上から順に判定され、最初に当てはまったところで止まる。だから条件の順番を変えると結果が変わるよ。
下の例では >= 70 を先に書いてしまったので、95点も「B」になってしまう。きびしい条件から先に書くのが基本だよ。
let scores = [95, 75];for (let i = 0; i < scores.length; i++) { if (scores[i] >= 70) { console.log("B"); } else if (scores[i] >= 90) { console.log("A"); }}実行結果
B B
05 / 06
最後を else にしておくと、どの条件にも当てはまらなかったものを必ず受け止められる。
else if だけで終わらせると、想定外の値が来たときに何も表示されない。「1件だけ出力が足りない」というときは、ここが原因のことが多いよ。
06 / 06
ここまでで「データを持つ・判断する・繰り返す」の3つの力がそろった。
この3つは、どんなプログラムにも出てくる骨組みだよ。この先で新しい文法を覚えても、やっていることはこの組み合わせのままだ。
次は HTML & CSS で画面を作り、その先で JS と組み合わせて動くページを作る。TODOアプリまで、あと少しだよ。