嗨最后一个对象,我有这个对象: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