프로그래밍/Js

js 배열의 index 값을 객체의 키로 변경하는 방법 [] -> {}

소행성왕자 2023. 6. 20. 15:06

아래와 같은 배열이 있습니다.

0: {id: 'prdctCd', value: 'USKRW'}
1: {id: 'realCode', value: 'USDKRW300'}
length: 2

배열의 키가 0 , 1 숫자로 되어 있는것을 객체로 변경해야 할때가 있습니다.

prdctCd: {id:'prdctCd', value:'USKRW'},
realCode: {id:'realCode', value:'USDKRW300'}

이렇게 변경하는 이유는 배열의 0 으로 접근하는 것보다는 키로 접근하는게 가독성이 좋습니다.

1차원 배열 변경 방법


const tmp = [
  {id:'prdctCd', value:'USKRW'},
  {id:'realCode', value:'USDKRW300'}
];

const object = tmp.reduce((acc, value, index) => {
  acc[value.id] = value;
  return acc;
}, {});

2차원 배열 변경방법

const arr = data.output.grid01_cnt.array_value.map(v=>{
  return v.reduce((acc, value, index) => {
    acc[value.id] = value;
    return acc;
  }, {});
});