所以我有这个数组:
var statuses = { New:1, Addressed:2, Rejected:3, Recovered:4, Billed:5, Completed:6 };
我想基本上在数组中搜索“Rejected”键并让它返回值,这样我就可以根据需要在数组中前后移动。
我已经尝试了这个,但它总是以“-1”表示无法找到它。
jQuery.inArray("Rejected", statuses)
答案 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