嗨最後一個對象,我有這個對象:jQuery的 - 通過刪除鍵
object {
key1:[.....],
key2:[....],
key3:[.... ]
}
請問我可以刪除最後一個對象鍵(密鑰)?
我想自由地刪除最後一個對象的關鍵,而不知道任何關於該關鍵。
嗨最後一個對象,我有這個對象:jQuery的 - 通過刪除鍵
object {
key1:[.....],
key2:[....],
key3:[.... ]
}
請問我可以刪除最後一個對象鍵(密鑰)?
我想自由地刪除最後一個對象的關鍵,而不知道任何關於該關鍵。
你不能假設,最後添加的元素將在JavaScript對象的最後一個要件。看到這個問題:Elements order in a "for (… in …)" loop
簡而言之:如果訂單對您很重要,請使用數組。
該帖子中的答案明確指出,不能信任數組... – worc
我想,在技術上,鍵是不以任何特定的順序,但無論如何...
var key;
for (key in obj);
delete obj[key];
它遍歷整個對象,然後刪除無論是被訪問的最後一件事。
編輯說明
obj = {a : 1, b : 2, c : 3};
for (key in obj); // loops over the entire object, doing nothing *EXCEPT*
// updating the `key` variable
alert(key); // "c" ... the last value of `key` was 'c'
delete obj[key]; // remove obj.c
Thsi是這樣做的ES5-compatible方式:
obj = {a : 1, b : 2, c : 3};
var k = Object.keys(obj);
delete obj[k[k.length-1]];
或更短:
delete obj[Object.keys(obj)[Object.keys(obj).length-1]];
有沒有這樣的事情作爲對象的 「最後」 鍵。對象不會跟蹤他們的鍵的順序。如果您需要保持順序,請使用數組。根據您的使用情況,保留一個單獨的密鑰陣列可能是最有效的。 – rjmunro