I have an array of objects
JavaScript
x
10
10
1
const data = [
2
{ id: 1, name: "A", condition: true },
3
{ id: 4, name: "B", condition: false },
4
{ id: 7, name: "C", condition: true },
5
{ id: 11, name: "D", condition: true },
6
{ id: 12, name: "E", condition: false }
7
]
8
9
10
Sample output
JavaScript
1
8
1
const data = {
2
0 : { id: 1, name: "A", condition: true },
3
1 : { id: 4, name: "B", condition: false },
4
2 : { id: 7, name: "C", condition: true },
5
3 : { id: 11, name: "D", condition: true },
6
4 : { id: 12, name: "E", condition: false }
7
}
8
I tried this way but did not get the correct keys, not sure how do i get proper keys in ascending order.
JavaScript
1
8
1
const arrayToObject = {
2
return data.reduce((obj, item) => {
3
obj[item['id]] = item
4
return obj
5
}, {})
6
}
7
8
Advertisement
Answer
Use Object.assign
JavaScript
1
11
11
1
const data = [
2
{ id: 1, name: "A", condition: true },
3
{ id: 4, name: "B", condition: false },
4
{ id: 7, name: "C", condition: true },
5
{ id: 11, name: "D", condition: true },
6
{ id: 12, name: "E", condition: false }
7
]
8
9
const res = Object.assign({}, data);
10
11
console.log(res)