주어진 코드를 객체에서 배열 형태로, 다시 배열에서 객체 형태로 바꿔주는 방법을 공부해보려고 한다.
문제 1) 아래 array를 {A: [10, 20], B: [30, 40], C: [50, 60, 70]}
으로 변경하기
const array = [['A', 10, 20], ['B', 30, 40], ['C', 50, 60, 70]];
const solution = (arr) => {
const newObj = {};
for(let i = 0; i < arr.length; i+=1) {
newObj[arr[i][0]] = arr[i].slice(1);
}
return newObj;
}
console.log(solution(array)); // { A: [ 10, 20 ], B: [ 30, 40 ], C: [ 50, 60, 70 ] }
문제 2) 아래 object를 [['A', 10, 20], ['B', 30, 40], ['C', 50, 60, 70]]
으로 변경하기
const object = { A: [10, 20], B: [30, 40], C: [50, 60, 70] };
const solution = (obj) => {
const newArr = Object.entries(obj);
// newArr -> [['A', [10, 20], ['B', [30, 40]], ['C', [50, 60, 70]]]
return newArr.map(([key, value]) => [key].concat(value));
}
console.log(solution(object));