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

时间:2010-10-01 19:07:39

标签: jquery arrays

所以我有这个数组:

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

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

我已经尝试了这个,但它总是以“-1”表示无法找到它。

jQuery.inArray("Rejected", statuses)

3 个答案:

答案 0 :(得分:2)

"Rejected" in statuses;

不需要jQuery。

如果你想要这个值,请执行:

statuses["Rejected"];

如果“拒绝”不在对象中,则返回undefined

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

答案 1 :(得分:2)

那不是数组,而是一个对象。

这更容易:

if (statuses.hasOwnProperty("Rejected")) {
  // It has it
  var valueOfRejected = statuses.Rejected

  // valueOfRejected now equals 3
} else {
  // It doesn't
}

您可以安全地检索Rejected密钥,即使它在对象中不存在而不会抛出错误;检索到的值将等于undefined

答案 2 :(得分:0)

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

​