[JS] 배열을 객체로 객체를 배열로 변환하기

은비·2023년 10월 1일
1

JS_Study

목록 보기
11/18
post-thumbnail

주어진 코드를 객체에서 배열 형태로, 다시 배열에서 객체 형태로 바꿔주는 방법을 공부해보려고 한다.

📍 Array를 Object로 변환하는 함수만들기

문제 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 ] }

Array.prototype.slice 란?

📍 Object를 Array로 변경하는 함수 만들기

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

Array.prototype.concat 이란?

0개의 댓글

관련 채용 정보