【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

【JavaScript】多次元配列の要素数を取得する方法

本記事では、JavaScriptで多次元配列の要素数を取得する方法について解説しています。

JavaScriptの学習におすすめ書籍
1冊ですべて身につくJavaScript入門講座
総合評価
( 5 )
メリット
  • 誰でも分かるように嚙み砕いて説明してくれる
  • アニメーションの知識が深く学べる
  • 1つのWebサイトを作りながら学べる
楽天ブックス
¥2,794 (2024/06/09 03:43時点 | 楽天市場調べ)
\楽天ポイント5倍セール!/
楽天市場で探す
\ポイント5%還元!/
Yahoo!ショッピングで探す
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
\楽天ポイント5倍セール!/
楽天市場で探す
\ポイント5%還元!/
Yahoo!ショッピングで探す
目次

lengthプロパティだけでは取得できない

配列の要素数は、lengthプロパティを使用することで取得出来ますが、多次元配列の要素数を取得する場合lengthプロパティだけでは取得することが出来ません。

その理由は、多次元配列の配列を一括りでカウントしてしまうためです。

let alphabetArr = ["A", "B", ["C", "D", ["E", "F"]]];

console.log(alphabetArr.length); // => 3

上記のコードを見ると、配列の要素数は6個なのにlengthプロパティで返される値は3です。これは[“C”, “D”, [“E”, “F”]]が一括りで1とカウントされているからです。

これを正しく取得するには、flatメソッドを組み合わせます。

let alphabetArr = ["A", "B", ["C", "D", ["E", "F"]]];

console.log(alphabetArr.length); // => 3
console.log(alphabetArr.flat().length); // => 5
console.log(alphabetArr.flat(2).length); // => 6
console.log(alphabetArr.flat(Infinity).length); // => 6

多次元配列のネストの深さが未定・可変の場合は、引数に「Infinity」を指定することで完全に配列に戻した状態からlengthプロパティで要素数を取得します。

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村 FC2 Blog Ranking

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次