배열을 오브젝트로 바꾸는 방법

Asked 1 years ago, Updated 1 years ago, 149 views

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'} 

javascript node.js reactjs

2022-06-21 10:51

3 Answers

reduce를 써봤습니다.

const answer = hello.reduce((prev, cur) => {
  prev[cur.value] = cur.label;
  return prev;
}, {});


2022-06-21 10:51

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)


2022-06-21 10:52

이렇게도 가능합니다.

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);


2022-06-21 10:52

If you have any answers or tips


© 2023 OneMinuteCode. All rights reserved.