我有这个对象:
object {
key1:[.....],
key2:[....],
key3:[.... ]
}
我如何删除最后一个对象键(key3)?
我想在不知道任何关于该密钥的情况下随意删除最后一个对象密钥。
答案 0 :(得分:3)
这是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]];
答案 1 :(得分:2)
Javascript中的对象中没有“最后”对象键。对象键没有排序,因此不能有第一个或最后一个。
答案 2 :(得分:2)
我猜,从技术上讲,密钥没有任何特定的顺序,但无论如何......
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
答案 3 :(得分:2)
您不能假设添加的最后一个元素将是javascript对象中列出的最后一个元素。请参阅此问题:Elements order in a "for (… in …)" loop
简而言之:如果订单对您很重要,请使用数组。