1. ホーム
  2. javascript

[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?

2022-03-13 04:28:13

質問

JavaScriptの配列に値が含まれているかどうかを調べるのに、最も簡潔で効率的な方法は何でしょうか?

これしか方法がないんです。

function contains(a, obj) {
    for (var i = 0; i < a.length; i++) {
        if (a[i] === obj) {
            return true;
        }
    }
    return false;
}

もっと簡潔で良い方法はないでしょうか?

どのように解決するのですか?

モダンブラウザは Array#includes を行うものである。 まさに それと は広く支持されている IE 以外では

console.log(['joe', 'jane', 'mary'].includes('jane')); //true

を使用することもできます。 Array#indexOf これは直接的ではありませんが、古いブラウザのためのポリフィルを必要としません。

console.log(['joe', 'jane', 'mary'].indexOf('jane') >= 0); //true


また、多くのフレームワークが同様の方法を提供しています。

フレームワークによっては、これを関数として実装しているものもあれば、配列のプロトタイプに関数を追加しているものもあることに注意してください。