代码之家  ›  专栏  ›  技术社区  ›  Shpigford

如何使用jQuery在数组中查找项?

  •  1
  • Shpigford  · 技术社区  · 15 年前

    所以我有一个数组:

    var statuses = { New:1, Addressed:2, Rejected:3, Recovered:4, Billed:5, Completed:6 };
    

    我想在数组中搜索“Rejected”键并让它返回值,这样我就可以根据需要在数组中来回移动。

    我试过这个,但总是失败的“-1”表示找不到它。

    jQuery.inArray("Rejected", statuses)
    
    3 回复  |  直到 15 年前
        1
  •  2
  •   Skilldrick    15 年前
    "Rejected" in statuses;
    

    不需要jQuery。

    statuses["Rejected"];
    

    这会回来的 undefined 如果“拒绝”不在对象中。

    正如其他人所说,形式的文字 {blah: value, blah2: value} [value1, value2, value2] 表示数组。

        2
  •  2
  •   Matt user129975    15 年前

    那不是数组,那是对象。

    if (statuses.hasOwnProperty("Rejected")) {
      // It has it
      var valueOfRejected = statuses.Rejected
    
      // valueOfRejected now equals 3
    } else {
      // It doesn't
    }
    

    Rejected 键,即使它不存在于对象中也不会抛出错误;检索到的值将正好相等 undefined .

        3
  •  0
  •   andres descalzo    15 年前
    var statuses = { New:1, Addressed:2, Rejected:3, Recovered:4, Billed:5, Completed:6 };
    
    ​$.inJsonObject = function(ind, obj)​​​ {
    
        return (typeof obj[ind] != 'undefined');
    
    }​;
    
    $.inJsonObject('Rejected', statuses); // true / false
    
    ​