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