簡體   English   中英

javascript測試值是否在數組中

[英]javascript testing if value is in array

在javascript中是否有一個函數來執行此操作 - 測試一個給定的值(在我的情況下是一個字符串)是否存在於一個數組(字符串)中? 我知道我可以循環遍歷每個值,但我想知道js是否有一個簡寫。

jquery.inArray()方法。 這是我所知道的最好的......

這有.indexOf() ,但IE <9不支持它:

if(array.indexOf("mystring") > -1) {
  //found
}

在同一個MDC文檔頁面中 ,這里包含(使用前)使IE工作的內容:

if (!Array.prototype.indexOf)
{
  Array.prototype.indexOf = function(elt /*, from*/)
  {
    var len = this.length >>> 0;

    var from = Number(arguments[1]) || 0;
    from = (from < 0)
         ? Math.ceil(from)
         : Math.floor(from);
    if (from < 0)
      from += len;

    for (; from < len; from++)
    {
      if (from in this &&
          this[from] === elt)
        return from;
    }
    return -1;
  };
}

.indexOf()返回找到字符串的數組中的索引,如果未找到則返回-1

對於php中的函數,應該是javascript或者我還沒有找到,我去了: http//phpjs.org

如果你只是使用javascript你想要使用的函數是in_array: http ://phpjs.org/functions/in_array: 432

否則,請在此頁面上使用jQuery解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM