JavaScript:是否可以编辑现有的密钥名称?

时间:2017-01-29 04:56:00

标签: javascript object

使用JavaScript,是否可以更改对象中的现有密钥名称,而不是删除整个键值对并在其位置添加新的键值?

如果可能的话,我要求的那种东西通常看起来像这样:

myObj = {'a':1, 'b':2,}; 

Object.keys(myObj)[i] = 'newKeyName';

...除了不是通过提取键名来编辑数组,实际上会在源对象中编辑键名本身。

2 个答案:

答案 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];
}