我用JavaScript的數組對象的工作這樣:使用jQuery inArray的JavaScript對象數組
var IssuesArray = [{"ID" : "1", "Name" : "Issue1"},
{"ID" : "2", "Name" : "Issue2"},
{"ID" : "3", "Name" : "Issue3"}];
我的最終努力嘗試當我知道的ID,以從數組中刪除一個對象目的。我試圖使用代碼是這樣的:
$.grep(IssuesArray, function(n, i) {
return i != $.inArray("2", IssuesArray);
});
因此,這表明,我試圖使用jQuery的grep按指數(I),而我試圖通過使用檢索到刪除一個元素jQuery inArray。當然,上面的代碼不會工作,因爲「2」應該對應於數組中的一個項目,它們都是JavaScript對象(對象永遠不會等於「2」)。我需要這樣的東西:
$.inArray(javascriptObject.Name=="2", IssuesArray);
有沒有人使用inArray獲取JavaScript對象的索引,使用該對象中的一個字段的值過任何成功的?任何幫助,將不勝感激。謝謝。
更新/澄清:一些人對我的問題感到困惑,但我收到了一個可行的答案。我正在使用:
IssuesArray = $.grep(IssuesArray, function(n) {
return n.ID != "2";
});
我覺得我在想太深,當時解決方案真的很容易。我只是想從數組中刪除一個JavaScript對象,只要我知道該對象中某個特定屬性的值即可。上面的解決方案使用jQuery的grep來返回數組中除了ID ==「2」的任何對象之外的所有內容。像往常一樣,感謝您的快速回答。一對夫婦的答案是很好的解決方案,可以使用(例如使用「拼接」),但這種解決方案似乎是最簡單的。再次感謝。
我不知道你想達到什麼目的? – Greg 2009-11-18 20:49:12
不知道在所有的.grep方法 - 這是偉大的,對於較小的陣列(順便說一句,爲什麼它被稱爲grep的?);它會複製數組,但是對於更大的數據集,從原始數組中移除元素可能會更好,但這很大程度上取決於您要實現的目標:) – Patonza 2009-11-18 22:03:42