Ответ 1
Это невозможно.
Вы можете просто написать
a.Prop3 = a.Prop1;
delete a.Prop1;
У меня есть объект JavaScript следующим образом:
var a = { Prop1: 'test', Prop2: 'test2' }
Как мне изменить "имя свойства" Prop1 на Prop3?
Я пробовал
for (var p in r) p.propertyName = 'Prop3';
но это не сработало.
Это невозможно.
Вы можете просто написать
a.Prop3 = a.Prop1;
delete a.Prop1;
Используя предлагаемую нотацию сохранения свойств, напишите
const {Prop1, ...otherProps} = a;
const newObj = {Prop3: Prop1, ...otherProps};
Это поддерживается Babel преобразование распространения остаточного объекта.
Добавление в решение по распределению остаточного объекта
const { Prop1: Prop3, ...otherProps } = a;
const newObj = { Prop3, ...otherProps };
Преобразуйте Object
в String
с помощью JSON.stringify
, а затем замените любые вхождения Prop1
на Prop3
, используя str.replace("Prop1", "Prop3")
.
Наконец, верните строку в Object
с помощью JSON.parse(str)
.
Примечание. str.replace("Prop1", "Prop3")
заменит первое вхождение "Prop1" в строке JSON. Чтобы заменить несколько, вместо этого используйте синтаксис regex:
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);