配列に要素が存在するかどうかを確認する [重複] 質問する

配列に要素が存在するかどうかを確認する [重複] 質問する

これを確認するために現在使用している関数は次のとおりです。

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

うまくいきました。もっと良い方法はありますか?

ベストアンサー1

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年7月現在、この実装されましたほとんどすべての主要ブラウザでは、古いブラウザをサポートする必要がある場合は、ポリフィル利用可能です。

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

おすすめ記事