JavaScriptで配列の要素数を取得する方法について書いています。
配列の要素数を取得するには、配列からlengthプロパティにアクセスすると良いです。
配列の要素数を取得する
配列からlengthプロパティを呼び出すことで、要素を取得することができます。
例えば、下記のようにアクセスできます。
let fruits = ['apple', 'grape', 'lemon', 'peach', 'orange']
console.log(fruits.length) // 5
最初に5つの要素を持った、fruits
変数(配列)を作成しています。
その次の処理で、fruits
変数からlengthプロパティにアクセスしています。
これで、要素数が取得できます。
中身を出力すると「5」となりました。
空の要素(undefined)でも要素数にカウントされる
要素数だけ指定して、何も入っていない配列を作った場合でも、要素数としてカウントされます。
let emptyArray = new Array(3)
console.log(emptyArray.length) // 3
emptyArray
変数にnew Array
で、3つの空要素が入った配列を作成しています。
この場合でもlength
プロパティにアクセスすると、要素数は「3」になります。
ループなどで回して、中身を確認すると、要素はundefined
となっています。
let emptyArray = new Array(3)
for(const value of emptyArray) {
console.log(value) // undefined
}
lengthプロパティを指定すると?
lengthプロパティを指定すると、同じように何も入っていない(undefined)の状態の配列ができます。
let emptyArray = []
emptyArray.length = 3
console.log(emptyArray.length) // 3
for(const value of emptyArray) {
console.log(value) // undefined
}
emptyArray
変数に「[]
」で空配列を作成しました。
この時点では要素数は0になります。
その次の処理で、lengthに「3」を指定しているので、3つの要素が用意されてundefined
状態の配列ができます。
ループすると「undefined」が出力されました。
undefinedを回避してカウントしたい
配列の要素数を指定して、配列を作った場合にはundefined
状態の配列ができました。
undefined
を避けてカウントしたい場合には、ループなどでundefined
を判定すると良いです。
let emptyArray = new Array(5)
emptyArray[1] = "apple"
emptyArray[3] = "grape"
onsole.log(emptyArray.length) // 5
let count = 0;
for(const value of emptyArray) {
if (value !== undefined) {
count++
}
}
console.log(count) // 2
emptyArray
変数に、5つの要素を指定して、undefined
状態の配列を作っています。
その後に、1番と3番目にそれぞれ要素を入れました。
このときに要素数をlength
にアクセスして取得すると「5」になります。
次の処理でfor…ofでループして、配列の要素(value
)がundefined
以外だったらcount
変数をカウントアップしています。
こうすることで、要素の入っているところだけカウントすることができます。
count
変数の内容を出力すると、「2」になりました。
forEachを使うことで、もう少し簡潔に書くことも可能です。
let count = 0;
emptyArray.forEach(() => {
count++
})
console.log(count) // 2
配列の要素数を取得する方法まとめ
今回はJavaScriptで配列の要素数を取得する方法について書きました。
記事の内容をまとめると、下記のようになります。
・配列の要素数を指定して配列を作り、何も入っていないときにもlengthでカウントされてしまう。
・何も入っていない配列の要素はundefinedで判定して、要素があるところだけカウントできた。
コメント