我有一個新聞訂閱源中的項目是從服務器返回的JSON創建的。當用戶對某個項目採取行動時,我想通過javascript將其從對象中移除。刪除json屬性,其中屬性是一個變量
飼料看起來是這樣的:
{"newsFeed":[{"feedId":"1",
"title":"item1 title",
"desc":"description of the item"},
{"feedId":"2",
"title":"item2 title",
"desc":"description of the item"}]}
我想刪除其中feedId
通過使用jQuery一個變量傳遞的JSON屬性或條目。我不知道究竟我要去哪裏錯了這裏,但我之前和去除的對象後提醒飼料,我得到了同樣的答覆:
function removeFromFeed(feedId){
var newsFeed=jQuery('div#newsFeed').data('newsFeed');
alert(newsFeed.toSource());
delete newsFeed.feedId[feedId]
jQuery('div#newsFeed').data('newsFeed',newsFeed);
alert(newsFeed.toSource());
}
是啊,我在想這樣的事情,但顯然JavaScript中已經有了一個可用的刪除函數,所以我寧願使用它,然後迭代變量。 雖然也許我誤解了'刪除'的用途。 – pedalpete 2010-03-16 17:36:57
刪除可用於從數組中刪除元素,但刪除newsFeed.feedId [feedId]與刪除newsFeed [i]'不同。第一個應該刪除feedId值而不是整個條目。第二個刪除整個對象(id,title,desc)。但是,刪除和數組有一個問題。它不會改變它只設置的數組的長度,例如'newsFeed [0]'未定義。因此,我的新解決方案遍歷newsFeed項目並使用resigs array刪除 – jitter 2010-03-16 17:54:58
感謝您解釋抖動。那時候我想過那個。我將使用您提供的代碼。 – pedalpete 2010-03-16 19:20:39