0

This is the object I have:

years = {1924:2, 1934: 10, 2010: 4}

I would like to transform this into:

years = [{year: 1924, items: 2}, {year: 1934, items: 10}, {year: 2010, items: 4}]

This is the code I came up with so far (which obviously doesn't work):

var years2 = {};

for (var i = 0; i < years.length; ++i) {
    years2.push({ years: [$key] })
};

I am stuggling to find the right way to access the unnamed keys and map these into their own objects.

(I am still learning JS and I know this is basics, but somehow cannot get my head around it.. )

Ant
  • 39
  • 5

2 Answers2

1

You can create key value pairs from the object with Object entries and map them to new array

const years = {1924:2, 1934: 10, 2010: 4}


const ans = Object.entries(years).map(([key,value]) => {
  return {year: key, items: value}
})

console.log(ans);
anttud
  • 736
  • 3
  • 9
1

You can get entries, then convert to object with map

const years = {1924:2, 1934: 10, 2010: 4}
const result = Object.entries(years).map(([year, items]) => ({year: year, items: items}))
console.log(result)
Xupitan
  • 1,601
  • 1
  • 8
  • 12