Object에서 순회 함수를 사용하는 방법

llama·2022년 3월 15일
0

JavaScript

목록 보기
2/11

Intro

ES6에서는 forEach, map, reduce등 Array를 순회하는 다양한 function을 제공합니다.
하지만 이는 Object에서는 사용 할 수 없는데요. 다행히도 Object에서 제공하는 entries와 fromEntries를 활용한다면 Object에서도 이러한 function들을 사용 할 수 있습니다.


Object.entries()

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()

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 }

Object에서 map function을 사용하는 예제

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 }
  • Object.entries() 할 때, 배열의 배열로 중첩되게 들어있기 때문에 map()을 사용할때 인자에 비구조화 할당을 이용하는게 편하다.
  • Object.fromEntries()로 배열을 객체로 되돌릴 것이라면 위처럼 map()이 반환하는 값도 []배열로 만들어주면 된다.

profile
요리사에서 프론트엔드 개발자를 준비하는중 입니다.

0개의 댓글