如何将JavaScript对象中的变量名替换为新变量名?
修改对象属性名的几种实现方式
针对你给出的对象 let arr={name:'ash', id:2},要将name属性替换为newname,可以用以下几种方法:
方法1:解构赋值重构对象
这是现代JS里最简洁的写法,通过解构提取目标属性和剩余属性,再用新属性名重新组合对象:
let arr = {name:'ash', id:2}; const { name: newname, ...rest } = arr; arr = { newname, ...rest }; console.log(arr); // { newname: 'ash', id: 2 }
方法2:直接操作对象属性
先添加新属性并赋值,再删除旧属性,适合简单场景:
let arr = {name:'ash', id:2}; arr.newname = arr.name; delete arr.name; console.log(arr); // { id: 2, newname: 'ash' }
注意:这种方法会改变原对象的属性顺序,解构法则会保留原属性顺序(被重命名的属性会移到前面)
方法3:封装工具函数复用
如果需要批量修改或多次使用,可以封装一个通用函数:
function renameObjProp(obj, oldProp, newProp) { const { [oldProp]: value, ...rest } = obj; return { [newProp]: value, ...rest }; } let arr = {name:'ash', id:2}; arr = renameObjProp(arr, 'name', 'newname'); console.log(arr); // { newname: 'ash', id: 2 }
内容的提问来源于stack exchange,提问作者Lex V
相关产品推荐
相关产品推荐

