타겟 객체에 있는 각 요소마다 키와 값이 있는데 이 것을 [키, 값] 바꾸고 모든 변경된 요소들을 새로운 배열에 담아 반환한다.
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 객체에서 가장 큰 값을 가진 키와 값을 반환하는 조합에 사용될 수 있다.