hello라는 배열 객체를 answer이라는 constant에 넣고 싶습니다.
이 때 응답의 키 값을 hello의 값 키로, 응답의 값을 hello의 레이블 값으로 변경하고자 합니다.
어떻게 해야 하죠?
객체 엔트리를 생각하고 있었는데 안되네요.
가능할까요?
이건 코드입니다.
const hello = [
{ label: 'one', value: 'Tangerinefeed' },
{ label: 'two', value: 'dryexamfeed' },
{ label: 'three', value: 'wetfeed' },
{ label: 'forth', value: 'sawdust' },
{ label: 'five', value: 'etc' },
] ;
이렇게 나오는 응답으로 바꾸었으면 합니다.
const answer = {Tangerinefeed: 'one', dryexamfeed: 'two', wetfeed: 'three', sawdust: 'forth', etc: 'five'}
reduce를 써봤습니다.
const answer = hello.reduce((prev, cur) => {
prev[cur.value] = cur.label;
return prev;
}, {});
reduce를 쓰면 됩니다.
const hello = [
{ label: 'one', value: 'Tangerinefeed' },
{ label: 'two', value: 'dryexamfeed' },
{ label: 'three', value: 'wetfeed' },
{ label: 'forth', value: 'sawdust' },
{ label: 'five', value: 'etc' },
] ;
const finalResult = hello.reduce((result, item) => {
result[item.value] = item.label
return result
}, {})
console.log(finalResult)
이렇게도 가능합니다.
const hello = [
{ label: 'one', value: 'Tangerinefeed' },
{ label: 'two', value: 'dryexamfeed' },
{ label: 'three', value: 'wetfeed' },
{ label: 'forth', value: 'sawdust' },
{ label: 'five', value: 'etc' },
] ;
const answer = {};
hello.forEach(a=>{ answer[a.value]=a.label})
console.log(answer);
© 2023 OneMinuteCode. All rights reserved.