所以我有此數組:如何使用jQuery查找數組中的項目?
var statuses = { New:1, Addressed:2, Rejected:3, Recovered:4, Billed:5, Completed:6 };
而且我想基本上搜索陣列爲「拒絕」鍵,並使其返回值,這樣的話我就可以去向前/向後數組作爲需要。
我試過這個,但它總是以「-1」表示無法找到它。
jQuery.inArray("Rejected", statuses)
所以我有此數組:如何使用jQuery查找數組中的項目?
var statuses = { New:1, Addressed:2, Rejected:3, Recovered:4, Billed:5, Completed:6 };
而且我想基本上搜索陣列爲「拒絕」鍵,並使其返回值,這樣的話我就可以去向前/向後數組作爲需要。
我試過這個,但它總是以「-1」表示無法找到它。
jQuery.inArray("Rejected", statuses)
"Rejected" in statuses;
無需jQuery的。
如果你想要的值,這樣做:
statuses["Rejected"];
這將返回undefined
如果「拒絕」不在對象。
正如其他人所說的,{blah: value, blah2: value}
表示的文字表示對象,[value1, value2, value2]
表示數組。
這不是一個數組,這是一個對象。
這是一個容易得多:
if (statuses.hasOwnProperty("Rejected")) {
// It has it
var valueOfRejected = statuses.Rejected
// valueOfRejected now equals 3
} else {
// It doesn't
}
您可以安全地取回Rejected
關鍵,即使它沒有在對象而不發出一個錯誤存在;檢索到的值將等於undefined
。
如果一個屬性不存在於某個對象上,並且您嘗試訪問該屬性,則不會拋出任何錯誤,它只會產生未定義的屬性,例如, '({})。iDontExist === undefined;' – CMS 2010-10-01 19:21:17
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
你有什麼是**不是**數組。這是一個有很多屬性的JavaScript對象。數組用方括號表示。不要誤解這兩種不同的概念。 – 2010-10-01 19:10:07