user image

Shilpa
Published in : 2022-03-05

Rename key inside Object {}

Angular

I want to rename the key from the object. 

Previously I was using ‘email’ key everywhere in all JSON responses, I want to change the email key to ‘username’. 

obj[ username ] = obj[ email];
delete obj[ email];

Can you please tell me what is the optimized way to do it? I feel low confident while deleting object key in above way!

Comments

Rakshit Date : 2022-03-05

Best answers

34

Best answers

34

Yes, you can change it, try below code.

if (email !== username ) {
    Object.defineProperty(obj, username ,
        Object.getOwnPropertyDescriptor(obj, email));
    delete obj[email];
}

Using ‘defineProperty’, you can update your key name easily. 


If you are using > ES6 then you can achieve it with single line approach.

delete Object.assign(obj, {[username]: obj[email] })[email];

Try any of above two solution, it will rename your key name for sure.

Shilpa Date : 2022-03-05

Best answers

10

Best answers

10

delete Object.assign(obj, {[username]: obj[email] })[email];

This approach works, and it is optimized way to achieve my questions.

Leave a comment

Join us

Join our community and get the chance to solve your code issues & share your opinion with us

Sign up Now

Related posts

Angular - PrimeNG charts adding colors for each legends dynamically
Publish date: 2022-02-27 | Comments: 1

Tag: Angular

Adding country flags is really struggling thing?
Publish date: 2022-02-25 | Comments: 6

Tag: Angular

How to call event handler onload for Angular application?
Publish date: 2022-03-02 | Comments: 2

Tag: Angular

In Angular project, RxJS isStopped is deprecated! What is the alternative?
Publish date: 2022-02-28 | Comments: 1

Tag: Angular

How to calculate distance between two Bluetooth devices?
Publish date: 2022-02-26 | Comments: 1

Tag: Angular