ES6에서는 forEach, map, reduce등 Array를 순회하는 다양한 function을 제공합니다.
하지만 이는 Object에서는 사용 할 수 없는데요. 다행히도 Object에서 제공하는 entries와 fromEntries를 활용한다면 Object에서도 이러한 function들을 사용 할 수 있습니다.
Object.entries는 object를 받아 array of array를 돌려줍니다.
obj = { a: 1, b: 2, c: 3 }
arr = Object.entries(obj)
console.log(arr)
// >>> [['a', 1], ['b', 2], ['c', 3]]
Object.fromEntries는 array of array를 받아 object를 돌려줍니다.
arr = [['a', 1], ['b', 2], ['c', 3]]
obj = Object.fromEntries(arr)
console.log(obj)
// >>> { a: 1, b: 2, c: 3 }
obj = { a:1, b:2, c:3 }
arr = Object.entries(obj).map(([key, value]) => [key, value * 100])
// >>> [ ['a', 100], ['b', 200], ['c', 300] ]
result = Object.fromEntries(arr)
// >>> { a: 100, b: 200, c: 300 }