在 JavaScript 中重命名对象的键
How to Rename an Object’s Key in JavaScript
要重命名对象中的键:
- 使用括号表示法将旧密钥的值分配给新密钥。
- 使用
delete
运算符删除旧密钥。 - 该对象将仅包含具有新名称的键。
索引.js
const obj = {oldKey: 'value'}; obj['newKey'] = obj['oldKey']; delete obj['oldKey']; console.log(obj); // 👉️ {newKey: 'value'}
我们使用括号[]
表示法将值分配给对象中oldKey
的newKey
属性。
最后一步是使用
删除
运算符从对象中删除旧键。
这实际上重命名了对象中的键。
如果对象中键的名称不包含空格或以特殊字符开头,您也可以使用点表示法。
索引.js
const obj = {oldKey: 'value'}; obj.newKey = obj.oldKey; delete obj.oldKey; console.log(obj); // 👉️ {newKey: 'value'}
此代码片段实现了相同的结果,并且更加简洁。但是,使用点表示法访问对象属性时存在的一些限制不适用于括号[]
表示法访问。
另一种但也是非常常见的方法是使用
Object.assign
方法。
索引.js
const obj = {oldKey: 'value'}; delete Object.assign(obj, {newKey: obj.oldKey})['oldKey']; console.log(obj); // 👉️ {newKey: 'value'}
该Object.assign
方法有两个参数:
- 目标对象– 应用源属性的对象
- sources – 包含要应用于目标对象的属性的源对象。
该方法返回应用了提供的属性的目标对象。
我们将newKey
属性添加到对象并将其设置为
oldKey
属性的值。
最后一步是使用delete
运算符删除oldKey
属性。
我个人的偏好是使用第一种方法。第二种方法实现了相同的目标,但是它更间接并且更难阅读。