JavaScript学習メモ(配列、for文)

JavaScript

JavaScriptの学習で学んだことをメモ感覚で残しています。

問題


以下の配列から、すべての値を2倍にして新しい配列を作り、結果をコンソールに表示してください。


var numbers = [1, 2, 3, 4, 5]; 
// ここで新しい配列を作成 
console.log(doubledNumbers); // [2, 4, 6, 8, 10]

for文(繰り返し)


for (初期化; 条件; 更新) {
処理
}
  • 初期化: ループの最初に実行されるコード。例: var i = 0。
  • 条件: この条件が真の間、ループを繰り返す。
  • 更新: 1回のループ処理が終わるたびに実行されるコード。例: i++。

解答


var numbers = [1, 2, 3, 4, 5];
var doubledNumbers = []; // 新しい配列を初期化
// 配列をループして各値を2倍にする
for (var i = 0; i < numbers.length; i++) {
doubledNumbers.push(numbers[i] * 2); // 値を2倍にして追加
}
console.log(doubledNumbers); // [2, 4, 6, 8, 10]

解説

  • numbers[i] を取得して、2倍にする。
  • 新しい配列 doubledNumbers にその結果を push(追加)する。

for 文の構成

for 文は3つの部分で構成され、順に動作します:

  1. 初期化 (var i = 0;)
    • ループの最初に1回だけ実行されるコードです。
    • var i = 0; はループカウンターを初期化します。
      • i は インデックス(添字) を表します。
      • 配列の最初の要素にアクセスするために、インデックスを 0 から開始します。
  2. 条件 (i < numbers.length;)
    • 各ループの開始時に評価されます。
    • 条件が 真(true) ならループ内の処理が実行され、 偽(false) ならループを終了します。
    • numbers.length は配列の長さ(要素数)を返します。
      • 例えば、numbers = [1, 2, 3, 4, 5] なら numbers.length は 5 です。
    • インデックスが配列の範囲内に収まるように、i < numbers.length という条件を指定します。
  3. 更新 (i++)
    • 各ループの最後に実行されるコードです。
    • i++ はカウンター i を1つ増やします。
      • 最初のループでは i が 0、次は 1、その次は 2 というように増加します。

動作の流れ(1つずつ説明)

配列: numbers = [1, 2, 3, 4, 5]

  • 1回目のループ:
    1. 初期化: i = 0
    2. 条件チェック: 0 < 5 → 真
    3. 処理実行: numbers[0] を操作(値は 1)
    4. 更新: i++ → i = 1
  • 2回目のループ:
    1. 条件チェック: 1 < 5 → 真
    2. 処理実行: numbers[1] を操作(値は 2)
    3. 更新: i++ → i = 2
  • ...以降同様の処理を繰り返す
  • 終了条件:
    • i = 5 になったとき、条件 5 < 5 は  となり、ループ終了。

メモ

var doubledNumbers = []; // 新しい配列を初期化
[]が空で初期化の意味

配列に対して .length を使うと、配列内の要素数を取得できる。

i++ は i = i + 1と同じ意味

  • numbers[i]:配列の要素を1つずつ取り出す。
  • * 2:その要素を2倍する。
  • doubledNumbers.push(...):結果を新しい配列 doubledNumbers に追加する。
タイトルとURLをコピーしました