我有一个JavaScript对象如下:
var a = { Prop1: 'test', Prop2: 'test2' }
如何将Prop1的“属性名称”更改为Prop3?
我试过
for (var p in r) p.propertyName = 'Prop3';
但这没效果。
答案 0 :(得分:76)
这不是直接可能的。
你可以写
a.Prop3 = a.Prop1;
delete a.Prop1;
答案 1 :(得分:12)
答案 2 :(得分:6)
添加对象休息传播解决方案
const { Prop1: Prop3, ...otherProps } = a;
const newObj = { Prop3, ...otherProps };
答案 3 :(得分:-14)
使用Object
将String
转换为JSON.stringify
,然后使用Prop1
将所有Prop3
替换为str.replace("Prop1", "Prop3")
。
最后,使用Object
将您的字符串转换回JSON.parse(str)
。
注意: str.replace("Prop1", "Prop3")
只会替换第一次出现的" Prop1"在JSON字符串中。要替换多个,请使用此正则表达式语法:
str.replace(/Prop1/g, "Prop3")
Refrence Here
var a = { Prop1: 'test', Prop2: 'test2' }
str = JSON.stringify(a);
str = str.replace("Prop1","Prop3");
var converted = JSON.parse(str);