これを確認するために現在使用している関数は次のとおりです。
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 つの異なるオブジェクトとなるためです。