使用JavaScript,是否可以更改对象中的现有密钥名称,而不是删除整个键值对并在其位置添加新的键值?
如果可能的话,我要求的那种东西通常看起来像这样:
myObj = {'a':1, 'b':2,};
Object.keys(myObj)[i] = 'newKeyName';
...除了不是通过提取键名来编辑数组,实际上会在源对象中编辑键名本身。
答案 0 :(得分:3)
不,这是最好的方法。
MainActivity
答案 1 :(得分:0)
另一个带有一些性能的解决方案。
obj = {'a':1,'b':2}
oldKey = 'a'
newKey = 'x'
if (oldKey !== newKey) {
Object.defineProperty(obj, newKey,
Object.getOwnPropertyDescriptor(obj, oldKey));
delete obj[oldKey];
}