JavaScript | 配列の要素数を調べる(length プロパティ)

JavaScript JavaScript
スポンサーリンク

では、レベル別の練習問題を用意しました。各問題に「問題 → 解答 → 解説」を付けています。


初級レベル

  • 問題
let arr = [10, 20, 30];
console.log(arr.length);
JavaScript

解答: 3
解説: 要素は3つ。インデックスは 0,1,2 なので、最後のインデックス + 1 = 3。

  • 問題
let arr = [];
arr[3] = 100;
console.log(arr.length);
JavaScript

解答: 4
解説: インデックス3に値を入れたので、length は 3 + 1 = 4。空の要素があっても length は大きくなる。


    中級レベル

    • 問題
    let arr = [1, 2, 3, 4];
    arr.length = 2;
    console.log(arr);
    
    JavaScript

    解答: [1, 2]
    解説: length を小さくすると末尾の要素が削除される。3 と 4 が消える。

    • 問題 l
    let arr = [1, 2];
    arr.length = 5;
    console.log(arr);
    
    JavaScript

    解答: [1, 2, empty × 3]
    解説: length を大きくすると空の要素が追加される。undefined ではなく「empty」として扱われる。


      上級レベル

      • 問題
      let arr = [];
      arr[2] = 'A';
      arr[5] = 'B';
      let count = 0;
      for (let i = 0; i < arr.length; i++) {
        if (i in arr) count++;
      }
      console.log(count);
      
      JavaScript

      解答: 2
      解説: 値が入っているのはインデックス2と5の2つ。in 演算子で存在チェックをしているので空の要素は数えられない。


        まとめ

        • length は「最後のインデックス + 1」
        • 空の要素があっても length は大きくなる
        • length を小さくすると要素が削除される、大きくすると空が増える
        • 実際の要素数を数えるには in 演算子などで存在チェックが必要
        タイトルとURLをコピーしました