~2022 작성 글/자바스크립트
배열을 객체로, 객체를 배열로 만들어보자.
라마치
2021. 9. 30. 17:14
const obj = {
id: 1,
city: 'changwon',
country: 'korea',
name: 'sangkwon',
};
const arr = [
["id", 1],
["city", "changwon"],
["country", "korea"],
["name", "sangkwon"]
],
이러한 객체와 배열이 있을 경우, 객체를 배열의 모양으로, 배열을 객체의 모양으로 바꾸는 코드를 구현해보겠습니다.
function objToArr(obj) {
return Object.entries(obj);
function arrToObj(arr) {
//for (let i = 0; i < arr.length; i = i + 1 ) {
// for (let n = 0; n < arr[i].length; n = n + 1 ) {
// result[arr[i][n]] = arr[i][n+1]
// }
//}
// reduce를 이용해서 배열의 첫번째 인덱스 값은 키로, 두번째 값은 밸류로 만든다.
return arr.reduce((acc, cur) => {
acc[cur[0]] = cur[1]
return acc
}, {})
}
function objArrToArrArr(objArr) {
//let result = []
//for ( let arr of objArr) {
//result.push(Object.entries(arr))
//};
//return result;
// map을 이용해서 내부의 객체들을 arrToArr해줌으로써 배열 내부의 객체들을 배열로 만들 수 있다.
return objArr.map((el) => objToArr(el))
}