Подтвердить что ты не робот

Изменить название свойства

У меня есть объект JavaScript следующим образом:

var a = { Prop1: 'test', Prop2: 'test2' }

Как мне изменить "имя свойства" Prop1 на Prop3?

Я пробовал

for (var p in r) p.propertyName = 'Prop3';

но это не сработало.

4b9b3361

Ответ 1

Это невозможно.

Вы можете просто написать

a.Prop3 = a.Prop1;
delete a.Prop1;

Ответ 3

Добавление в решение по распределению остаточного объекта

const { Prop1: Prop3, ...otherProps } = a;
const newObj = { Prop3, ...otherProps };

Ответ 4

Обход

Преобразуйте 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

Demo

http://jsfiddle.net/9hj8k0ju/

Пример

var a  = { Prop1: 'test', Prop2: 'test2' }
str = JSON.stringify(a);
str = str.replace("Prop1","Prop3");
var converted  = JSON.parse(str);