[解決済み] 値のリストに対する変数の等質性をチェックする
2022-04-22 02:59:45
質問
ある変数をチェックしています。
foo
が、いくつかの値と等しいかどうかを調べます。例えば
if( foo == 1 || foo == 3 || foo == 12 ) {
// ...
}
ポイントは、このような些細なタスクのために、むしろ多くのコードであるということです。私は次のように思いつきました。
if( foo in {1: 1, 3: 1, 12: 1} ) {
// ...
}
というのも、オブジェクトの中の項目に冗長な値を与えなければならないからです。
どなたか、複数の値に対して等値チェックを行うまともな方法をご存じないでしょうか?
どのように解決するのですか?
提供された回答を使って、結局、以下のようになりました。
Object.prototype.in = function() {
for(var i=0; i<arguments.length; i++)
if(arguments[i] == this) return true;
return false;
}
のように呼び出すことができます。
if(foo.in(1, 3, 12)) {
// ...
}
編集する 私は最近、値が文字列で特殊文字を含まない場合に有効なこの「トリック」に出会いました。特殊文字の場合は、エスケープするために醜くなり、また、そのためにエラーが発生しやすくなります。
/foo|bar|something/.test(str);
より正確には、これは正確な文字列をチェックしますが、単純な等値性テストとしてはより複雑です。
/^(foo|bar|something)$/.test(str);
関連
-
vue+webrtc(Tencent cloud)ライブ機能の実践を実現するために
-
[解決済み】 env: node: macにそのようなファイルやディレクトリはありません
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] JavaScriptで変数が文字列かどうかをチェックする
-
[解決済み] JavaScriptで変数が存在するか(定義されているか/初期化されているか)をチェックする
-
[解決済み] JavaScriptで変数が配列であるかどうかを確認する方法は?
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
Vueがechartsのtooltipにクリックイベントを追加するケーススタディ
-
Vue Element-uiは、アイコンを追加するためのツリーコントロールノードを詳細に実装しています。
-
vue for 登録ページ効果 vue for sms 認証コードログイン
-
jQueryのコピーオブジェクトの説明
-
Vueのフォームイベントのデータバインディングの説明
-
[解決済み】Node.js getaddrinfo ENOTFOUND
-
[解決済み] 配列の結合時に未定義のプロパティ 'push' を読み込むことができない
-
[解決済み】"フォームが接続されていないため、フォームの送信がキャンセルされました "というエラーの取得について
-
[解決済み】 env: node: macにそのようなファイルやディレクトリはありません
-
nullのプロパティinnerHTMLを読み取れません エラーメッセージ