jQuery - 按键删除最后一个对象

时间:2011-09-26 00:40:52

标签: javascript jquery object

我有这个对象:

object {
 key1:[.....],
 key2:[....],
 key3:[.... ]
}

我如何删除最后一个对象键(key3)?

我想在不知道任何关于该密钥的情况下随意删除最后一个对象密钥。

4 个答案:

答案 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

  

简而言之:如果订单对您很重要,请使用数组。