問題

這個問題已經有一個答案:

  • 2001年12月31日終了的兩年期收入和支出及準備金和基金結餘變動報表 如何檢查陣列是否包含JavaScript中的物件? 2001年12月31日終了的兩年期收入和支出及準備金和基金結餘變動報表 46個答案 2001年12月31日終了的兩年期收入和支出及準備金和基金結餘變動報表 2001年12月31日終了的兩年期收入和支出及準備金和基金結餘變動報表

我現在用來檢查這個的函式如下:

 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年7月,這個 已經在幾乎所有主要瀏覽器中實現了 ,如果您需要支援 IE 一個 polyfull 的話。

  相同標籤的其他問題

javascriptarrays