JS – Object.entries() 대상 객체를 각 키,값으로 배열로 담은 배열

타겟 객체에 있는 각 요소마다 키와 값이 있는데 이 것을 [키, 값] 바꾸고 모든 변경된 요소들을 새로운 배열에 담아 반환한다.

const dataobj = {
	user_a : 50,
  user_b : 15,
  user_c : 30,
  user_d : 100,
  user_e : 80
}

const resultES6 = (obj) => {
	return Object.entries(obj)
};
  
console.log(resultES6(dataobj));

위 예제의 결과값은 [[“user_a”, 50], [“user_b”, 15], [“user_c”, 30], [“user_d”, 100], [“user_e”, 80]] 이렇게 나온다.

보통 entries는 단독으로 쓰이기보다 reduce 함수나 map 함수등을 활용한다.

const dataobj = {
	user_a : 50,
  user_b : 15,
  user_c : 30,
  user_d : 100,
  user_e : 80
}

const resultES6 = (obj) => {
  const [name,point] = Object.entries(obj).reduce( (prev,current) => prev[1] > current[1] ? prev : current)
  return `{${name}: ${point}}`
};
  
console.log(resultES6(dataobj));

이렇게 dataobj 객체에서 가장 큰 값을 가진 키와 값을 반환하는 조합에 사용될 수 있다.

TOP