是否可以从对象中删除最后一个属性(按字母顺序)?

时间:2018-10-18 08:39:39

标签: javascript object

可以像

一样删除属性

delete myObj.myProperty

delete myObj["myProperty"]

但是我想从具有不同名称的许多对象中删除该属性的最后一个属性,唯一的规则是该对象中的最后一个属性。

有办法吗?

2 个答案:

答案 0 :(得分:3)

您可以获取密钥,然后弹出最后一个密钥进行删除。

这对于可能是数组索引的整数值不能正常工作,因为此键按实际标准排在最前。

delete myObj[Object.keys(myObj).pop()];

如果要删除字母排序中的最后一个键,则可以在弹出之前添加排序。

delete myObj[Object.keys(myObj).sort().pop()];

答案 1 :(得分:1)

是的,先对键进行排序,然后再查找并使用键。

const [first] = Object.keys(obj).sort((k1,k2) => k1 - k2).reverse();
delete obj[first];