Amarish Rathod
Amarish Rathod

Reputation: 111

How to Convert Object to array in Angular 4?

I want to convert my Object to array, here is my Object.

{5.0: 10, 28.0: 14, 3.0: 6}

I want array like below

[{"type": 5.0,"value":10},{"type": 28.0,"value":14}, {"type": 3.0,"value":6}]

or

[{"5.0": 10},{"28.0": 14}, {"3.0": 6}]

Upvotes: 9

Views: 69319

Answers (2)

Faly
Faly

Reputation: 13356

Use Object.keys and array.map:

var obj = {5.0: 10, 28.0: 14, 3.0: 6}

var arr = Object.keys(obj).map(key => ({type: key, value: obj[key]}));

console.log(arr);

And if your browser supports Object.entries, you can use it:

var obj = {5.0: 10, 28.0: 14, 3.0: 6}

var arr = Object.entries(obj).map(([type, value]) => ({type, value}));

console.log(arr);

Upvotes: 11

Suren Srapyan
Suren Srapyan

Reputation: 68655

Get the keys via Object.keys and then use map function to get the desired output.

const obj = {5.0: 10, 28.0: 14, 3.0: 6};

const mapped = Object.keys(obj).map(key => ({type: key, value: obj[key]}));

console.log(mapped);

Another solution can be provided via Object.entries and array destructuring.

const obj = {5.0: 10, 28.0: 14, 3.0: 6};

const mapped = Object.entries(obj).map(([type, value]) => ({type, value}));

console.log(mapped);

Upvotes: 25

Related Questions