Ho un object JavaScript come segue:
var a = { Prop1: 'test', Prop2: 'test2' }
Come cambierei il “nome della proprietà” di Prop1 in Prop3?
Provai
for (var p in r) p.propertyName = 'Prop3';
ma quello non ha funzionato.
Questo non è direttamente ansible.
Puoi solo scrivere
a.Prop3 = a.Prop1; delete a.Prop1;
Utilizzando la notazione della proprietà proposta, scrivi
const {Prop1, ...otherProps} = a; const newObj = {Prop3: Prop1, ...otherProps};
Questo è supportato dalla trasformazione di diffusione del resto dell’object di Babel.
Aggiunta alla soluzione di diffusione del resto dell’object
const { Prop1: Prop3, ...otherProps } = a; const newObj = { Prop3, ...otherProps };
Converti il tuo Object
in una String
usando JSON.stringify
, quindi sostituisci eventuali occorrenze di Prop1
con Prop3
usando str.replace("Prop1", "Prop3")
. Infine, converti la stringa in un Object
usando JSON.parse(str)
.
Nota: str.replace("Prop1", "Prop3")
sostituirà solo la prima occorrenza di “Prop1” nella stringa JSON. Per sostituire più, usa invece questa syntax 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);