[解決済み] 配列が空かヌルかチェックする
2022-05-14 09:45:01
質問
jQueryで配列が空かNULLかを調べる方法を知りたいです。私は試してみました
array.length === 0
を試してみましたが、うまくいきませんでした。それはどんなエラーも投げませんでした。
これがそのコードです。
var album_text = new Array();
$("input[name='album_text[]']").each(function(){
if( $(this).val() && $(this).val() != '') {
album_text.push($(this).val());
}
});
if (album_text.length === 0) {
$('#error_message').html("Error");
}
else {
// send data
}
どのように解決するのですか?
あなたのセレクタが実際に動作している限り、私は配列の長さをチェックするあなたのコードに何の問題もないと思います。 これは、あなたが望むことを行う必要があります。 あなたのコードをよりシンプルで読みやすくする方法はたくさんあります。 以下は、クリーンアップしたバージョンと、私がクリーンアップした内容に関するメモです。
var album_text = [];
$("input[name='album_text[]']").each(function() {
var value = $(this).val();
if (value) {
album_text.push(value);
}
});
if (album_text.length === 0) {
$('#error_message').html("Error");
}
else {
//send data
}
あなたがやっていたこと、私が変更したことのメモです。
-
$(this)
は常に有効な jQuery オブジェクトであるため、これまでif ($(this))
. これは内部に DOM オブジェクトを持たないかもしれませんが、それを確認するには$(this).length
で確認することができますが、ここではその必要はありません。.each()
ループはアイテムがなければ実行されないので、ここでは必要ありません。$(this)
の中に.each()
のループ内は常に何かになります。 - 同じ関数内で何度も$(this)を使うのは非効率的です。 一度ローカル変数に取り込んで、そのローカル変数から使用する方がずっと良い。
-
で配列を初期化することが推奨されます。
[]
ではなくnew Array()
if (value)
value == null
value == undefined
関連
-
[解決済み] クラスメソッド内の "this "をタイプスクリプトで記述する
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] JavaScriptで配列を空にするにはどうしたらいいですか?
-
[解決済み] 動的に生成された要素でクリックイベントが動作しない [duplicate]
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Uncaught TypeError: 未定義のプロパティ 'length' を読み取れませんでした。
-
[解決済み] jQuery.ajaxでmultipart/formdataを送信する。
-
[解決済み] jQueryで複数のCSS属性を定義するには?
-
[解決済み] jQuery: テーブルの行数を数える
-
[解決済み] .text()を使って子タグにネストされていないテキストのみを取得する方法
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】jQueryのテンプレートエンジン【終了しました
-
[解決済み】$(window).width()がメディアクエリとは違う
-
[解決済み] jQueryでinput[type=text]の値変化を検出する
-
[解決済み】JavaScriptで、ある配列のインデックスに値が存在するかどうかを確認するにはどうすればよいですか?