くり返しとデータの持ち方

INPUT · スライド

forとifと配列を組み合わせよう

01 / 05

3つの道具がそろった

変数・if 文・for 文・配列——道具は全部そろった。

今回は for 文の中に if 文を入れて、「条件に合う要素だけ処理する」を作るよ。検索、絞り込み、集計……アプリの心臓部になるパターンだ。

02 / 05

forの中にifを入れる

形はこう。{ } が二重になるから、インデント(字下げ)で見やすく書くのがコツだよ。

毎周 scores[i] を取り出し、そのたびに if 文で判定する。

let scores = [45, 80, 92, 60];for (let i = 0; i < scores.length; i++) {  if (scores[i] >= 80) {    console.log(scores[i]);  }}

実行結果

80
92

03 / 05

条件に合う要素を数える

「何件あるか」を数えたいときは、カウント用の変数を外に用意して、if の中で 1 ずつ足す。

合計の「ためる変数」パターンの仲間だね。

let scores = [45, 80, 92, 60];let count = 0;for (let i = 0; i < scores.length; i++) {  if (scores[i] >= 80) {    count = count + 1;  }}console.log(count);

実行結果

2

04 / 05

合うものだけ集める

空の配列に push すれば、条件に合う要素だけの新しい配列が作れる。

これが「絞り込み(フィルタ)」。ネットショップの「3000円以下だけ表示」もこの仕組みだよ。

let prices = [1200, 4500, 2800];let cheap = [];for (let i = 0; i < prices.length; i++) {  if (prices[i] <= 3000) {    cheap.push(prices[i]);  }}console.log(cheap);

実行結果

[1200, 2800]

05 / 05

文字の要素でも同じ

数値だけじゃなく、文字の配列でも条件で選べる。

「探す・数える・集める」の3パターン、この後の問題で全部書いてもらうよ。

let animals = ["ねこ", "いぬ", "ねこ", "うさぎ"];for (let i = 0; i < animals.length; i++) {  if (animals[i] === "ねこ") {    console.log(i + "番目にねこ発見");  }}

実行結果

0番目にねこ発見
2番目にねこ発見