【Javascript】配列が空かどうかを判定する方法

今回の記事は、

  • Javascriptを使って、配列が空かどうかを判定したい

というお悩みを解消できる記事になっています。

Javascriptを使って配列が空かどうかを判定する際、その方法自体は非常にシンプルなのですが、「あれ、結局どれを使えばいいんだっけ?」と悩んでしまいがちですよね。

そんな方々に向けて、この記事では『Javascriptで配列が空かどうかを判定する方法』について解説していこうと思います。


フリーランス案件を探すならこのエージェント!

運営会社 レバテック株式会社 株式会社Branding Engineer 株式会社Hajimari
対応エリア 東京・神奈川・埼玉・千葉
大阪・兵庫・京都・愛知・福岡
東京・神奈川・埼玉・千葉
大阪・兵庫・京都・奈良・和歌山・滋賀
東京・神奈川・埼玉・千葉
茨城・大阪・兵庫・福岡
案件数 約28,000件 約3,300件 約4,200件
平均単価 68.2万円 72.2万円
最高月収 145万円 200万円 176万円
特徴高単価な案件が多い
福利厚生サービスが受けられる
・首都圏の案件が中心
給与保証制度で安定した収入を得られる
・税務処理のサポートあり
・マージン率は実質20%
週2/週3の案件が多い
在宅/リモート案件が多い
・スタートアップ企業やベンチャー企業の案件が多い
紹介企業例 ・株式会社Gunosy
・株式会社バンダイナムコホールディングス
・株式会社ユーザベース
・Sansan株式会社
・株式会社一休
・株式会社FiNC Technologies など
・クックパッド株式会社
・株式会社カオナビ
・株式会社Kaizen Platform など
説明記事
公式サイト


転職を考えているならこのエージェント!

運営会社 レバテック株式会社 株式会社Branding Engineer 株式会社リブセンス
対応エリア 東京・神奈川・埼玉・千葉
大阪・兵庫・京都・愛知・福岡
東京・神奈川・埼玉・千葉
大阪・兵庫・京都・奈良・和歌山・滋賀
東京・神奈川・埼玉・千葉
茨城・大阪・兵庫・福岡
案件数 約13,000件 約800件
※非公開求人が多い

※ドラフト制のため、対象外
年齢層 20代:◎
30代:〇
40代:〇
20代:〇
30代:〇
40代:△
20代:〇
30代:〇
40代:〇
特徴エンジニア・デザイナーを専門としている
・カウンセリングに時間をかける
年収アップ率60%の実績
IT/Web/ゲーム業界専門の転職エージェント
・業界経験者がキャリアコンサルタントを務める
・丁寧なカウンセリングで入社後の離職率1%以下を実現
ドラフト制による採用を叶える特殊なサービス
スキル・経験重視で評価してもらえる
・他エンジニアの入札結果を見ることで
自分の市場価値が分かる
紹介企業例 ・サイボウズ株式会社
・株式会社サイバーエージェント
・Chatwork株式会社 など
・DMM.com
・Money Forward
・SmartHR など
・メルカリ
・ZOZOテクノロジーズ
・freee など
説明記事
公式サイト


配列が空かどうかを判定するためには?

Javascriptを使って配列が空かどうかを判定するためには、ズバリ、lengthメソッドを使用します。

ではまずは、このlengthメソッドの基本的な使い方から見ていきましょう。

lengthメソッドの基本的な使い方

lengthメソッドを使用すると、文字列の長さや配列の要素数を取得することができます。

その使い方は非常に簡単で、以下の通り使用します。

文字列の場合

const name = "タナカタロウ"

console.log(name.length)
=> 6

const name = "田中太郎"

console.log(name.length)
=> 4

配列の場合

const array1 = []

console.log(array1.length)
=> 0

const array2 = ["Ruby", "Rails", "Javascript"]

console.log(array2.length)
=> 3

このようにとても簡単で直感的に使えますよね。

lengthメソッドで配列が空かどうかを判定する方法

では実際にこのlengthメソッドを使って配列が空かどうかを判定する方法を解説していきます。

察しの良い方はもうお気づきかもしれませんが、「配列が空」ということは、「配列の要素数がゼロ」ということになりますよね。

つまり、以下のようにして、「配列の要素数がゼロかどうか」を確認してあげましょう。

const array = []

if (array.length == 0) {
  console.log("空の配列です。")
} else {
  console.log("空の配列ではありません。")
}
=> 空の配列です。

このようにarray.length == 0を使用することで、配列が空かどうかを判定することができます。

また、array.length == 0を使う以外にも、以下の通り、様々な方法が存在しています。

// arrayが空配列でない場合の条件分岐
if (array[0]) { ... }
if (array.length > 0) {...}
if (array.length) { ... }

私個人的には、最後のarray.length 或いは !array.lengthを使って、空配列かどうかを確かめることが多いです。

// 空配列でない場合の処理
if (array.length) {
  ...
}

// 空配列の場合の処理
if (!array.length) {
  ...
} 

上記の通り、JavaScriptは0をfalseとして、1以上をtrueとして認識するためです。 他の言語では0もtrueとして認識することも散見されるのですが、この使い方はJavaScriptならではと言えますね。

配列が未定義の場合の判定方法

上述の通り、lengthメソッドを使用すれば、配列が空かどうかを簡単に判定することができるのですが、あくまでこれは、配列が定義されている場合の話です。

配列が定義されていない場合(undefinedの場合)にlengthメソッドを使用すると、Cannot read property 'length' of undefinedというエラーが発生してしまいます。

ただし、その解決策は簡単で、lengthメソッドを使用する前にその変数が定義されているかどうかを確認してあげましょう。具体的には以下の通りです。

if (typeof array === "undefined") {
  // 配列が未定義の場合の処理
} else if (array.length) {
  // 空配列でない場合の処理
} else {
  // 空配列の場合の処理
}

通常の実装をしている限り、配列が未定義ということはあまり見られることではありませんが、もしそのような場面に出くわした場合には、空配列かどうかを判定する前にそもそも配列が定義されているかどうかを確認してあげましょう。

最後に

さて、ここまで、Javascriptを使って配列が空かどうかを判定する方法をご紹介しましたがいかがでしたか?

今回ご紹介した方法はとてもシンプルで覚えやすいと思いますので、この機会にぜひ使いこなせるようになっておいてくださいね。

このブログを通じて少しでも「傍(はた)を楽(らく)にする」ことができていれば嬉しく思います。

最後まで読んでいただきありがとうございました。


フリーランス案件を探すならこのエージェント!

運営会社 レバテック株式会社 株式会社Branding Engineer 株式会社Hajimari
対応エリア 東京・神奈川・埼玉・千葉
大阪・兵庫・京都・愛知・福岡
東京・神奈川・埼玉・千葉
大阪・兵庫・京都・奈良・和歌山・滋賀
東京・神奈川・埼玉・千葉
茨城・大阪・兵庫・福岡
案件数 約28,000件 約3,300件 約4,200件
平均単価 68.2万円 72.2万円
最高月収 145万円 200万円 176万円
特徴高単価な案件が多い
福利厚生サービスが受けられる
・首都圏の案件が中心
給与保証制度で安定した収入を得られる
・税務処理のサポートあり
・マージン率は実質20%
週2/週3の案件が多い
在宅/リモート案件が多い
・スタートアップ企業やベンチャー企業の案件が多い
紹介企業例 ・株式会社Gunosy
・株式会社バンダイナムコホールディングス
・株式会社ユーザベース
・Sansan株式会社
・株式会社一休
・株式会社FiNC Technologies など
・クックパッド株式会社
・株式会社カオナビ
・株式会社Kaizen Platform など
説明記事
公式サイト


転職を考えているならこのエージェント!

運営会社 レバテック株式会社 株式会社Branding Engineer 株式会社リブセンス
対応エリア 東京・神奈川・埼玉・千葉
大阪・兵庫・京都・愛知・福岡
東京・神奈川・埼玉・千葉
大阪・兵庫・京都・奈良・和歌山・滋賀
東京・神奈川・埼玉・千葉
茨城・大阪・兵庫・福岡
案件数 約13,000件 約800件
※非公開求人が多い

※ドラフト制のため、対象外
年齢層 20代:◎
30代:〇
40代:〇
20代:〇
30代:〇
40代:△
20代:〇
30代:〇
40代:〇
特徴エンジニア・デザイナーを専門としている
・カウンセリングに時間をかける
年収アップ率60%の実績
IT/Web/ゲーム業界専門の転職エージェント
・業界経験者がキャリアコンサルタントを務める
・丁寧なカウンセリングで入社後の離職率1%以下を実現
ドラフト制による採用を叶える特殊なサービス
スキル・経験重視で評価してもらえる
・他エンジニアの入札結果を見ることで
自分の市場価値が分かる
紹介企業例 ・サイボウズ株式会社
・株式会社サイバーエージェント
・Chatwork株式会社 など
・DMM.com
・Money Forward
・SmartHR など
・メルカリ
・ZOZOテクノロジーズ
・freee など
説明記事
公式サイト