1. ホーム
  2. javascript

[解決済み] 配列に要素があるかどうかをチェックする【重複あり

2022-03-14 01:51:57

質問

これを確認するために、今使っている関数は以下の通りです。

function inArray(needle,haystack)
{
    var count=haystack.length;
    for(var i=0;i<count;i++)
    {
        if(haystack[i]===needle){return true;}
    }
    return false;
}

うまくいくんです。私が求めているのは、これを行う良い方法があるかどうかです。

解決方法は?

ECMAScript 2016 includes() メソッドは、この問題を特に解決するもので、現在では推奨されている方法です。

[1, 2, 3].includes(2);     // true
[1, 2, 3].includes(4);     // false
[1, 2, 3].includes(1, 2);  // false (second parameter is the index position in this array at which to begin searching)

2018年JULY時点では、この が実装されました。 ほぼすべての 主要 ブラウザをサポートする必要がある場合、古いブラウザには ポリフィル が利用可能です。

編集: 配列の項目がオブジェクトの場合、これは false を返すことに注意してください。これは、JavaScriptでは、類似のオブジェクトは2つの異なるオブジェクトであるためです。