const userData = [
{name:'hong', age:23},
{name:'kim', age:23},
{name:'lee', age:24},
{name:'park', age:13},
{name:'choi, age:52}
];
const reduceData = userData.reduce(
(obj, user)=>{
obj[user.name]=user.age;
return obj;
},
{}
)
여기서 obj[user.name]=user.age; 이 부분에서 user.age 는 왜 obj[user.age]가 아니라 그냥 user.age 인가요? 왜 user.name 만 obj 하나요
리듀스 초기값이 {}잖아 {}에는 user.age가 없다 obj[user.name]=??? 하면 오브젝트에 새로운 키가 user.name으로 생기고 그 값이 user.age인 것
진짜 궁금하면 니가 수정을 해서 찍어봐 근데 obj[user.age] = user.age 해보면 {25:25, 30:30, 13:13} 이따구일텐데 이런 데이터 어따 써먹음
리듀서 문제가 아니라 js 오브젝트 부분을 다시 봐라
obj[user.age] = user.age 가 아니라 obj[user.name] = user.age임 ㅋㅋ {'Hong':23, 'Park':27} 이런 식임
user.age가 무엇을 뜻하고 무슨 값인지 생각해봐. 그리고 user.name이 무엇을 뜻하고 무슨 값인지도 그렇다면 reduce의 결과로 반환되는 객체에는 어떠한 정보가 담겨 있는 걸까. 어떠한 매핑이 되어있는 걸까.
왜 기존의 객체를 그냥 할당하지 않았을까?