2011-12-03 27 views
1

刪除項目我有用作與鍵/值對的字典項的對象:的Javascript:從對象

var stuff = {}; 
stuff["jar"] = "biscuit"; 

我試圖刪除一個項目。到目前爲止,沒有數組方法似乎工作。這甚至是一個數組(正如你可能猜到的,我不是太熱的Javascript)。

如何刪除項目?

回答

2

delete stuff['jar']會刪除它

你創建了一個對象字面和分配「罐子」屬性是「餅乾」,[]是一個真正的數組的語法,雖然在ECMAScript中的數組是真正的對象,應使用對於數字索引集而不是鍵/值特定集

簡而言之,您正在使用正確的數據類型作業。

+0

出於好奇 - 我以前見過這種類型的問題,答案總是'讓GC處理它'。這種情況不同嗎? –

+0

@ ajax81 - 這是不同的。這不是關於釋放內存,而是關於通過刪除其中一個屬性來改變對象的狀態。在這個簡單的例子中,它是唯一的屬性,但是如果你想象一個更復雜的對象有許多屬性,如果你刪除了其中的一個,然後枚舉for..in循環中的對象的(剩餘)屬性,刪除的屬性將不會更長的時間在那裏 - 我相信你可以想象爲什麼你想這樣做的一些原因。 – nnnnnn

+0

@nn - 啊,是的。我懂了。謝謝你澄清。 –

0

delete stuff['jar']

你有一個對象,而不是一個數組。