var arr = ["Apple", "Orange", "Mango", "Banana"];
var obj1 = { 0: "Apple", 4: "Orange", 2: "Mango", 3: "Banana"};
var obj2 = { "id": "1", "name": "jenny", "color": "yellow"};
console.log(Object.keys(arr)); // ['0', '1', '2', '3']
console.log(Object.keys(obj1)); // ['0', '2', '3', '4']
console.log(Object.keys(obj2)); // ['id', 'name', 'color']
var obj = { "id": "1", "name": "jenny", "color": "yellow"};
console.log(Object.entries(obj));
// 0 : ['id', '1']
// 1 : ['name', 'jenny']
// 2 : ['color', 'yellow']
console.log(JSON.stringify(Object.entries(obj)));
// [["id","1"],["name","jenny"],["color","yellow"]]
for (const [key, value] of Object.entries(obj)) {
console.log(`${key}: ${value}`);
}
// id: 1
// name: jenny
// color: yellow
var obj = { "id": "1", "name": "jenny", "color": "yellow"};
for(let i in obj) {
console.log(`${i}: ${obj[i]}`);
}
// id: 1
// name: jenny
// color: yellow
var obj = {
"id": "1",
"name": "jenny",
"color": "yellow"
};
let objToArr = Object.entries(obj);
// [
// ['id', '1'] //obj[0][0~1]
// ['name', 'jenny'] //obj[1][0~1]
// ['color', 'yellow'] //obj[2][0~1]
// ]
Object.fromEntries는 이차원 배열을 일차원 객체로 만들기 때문에, 이차원 이상의 다차원 배열에서는 map
을 사용하여 배열 내부의 객체에 접근해야한다.
var arr = [
["id", "1"],
["name", "jenny"],
["color", "yellow"]
];
let arrToObj = Object.fromEntries(arr);
// {id: '1', name: 'jenny', color: 'yellow'}
var arr = [[
["id", "1"],
["name", "jenny"],
["color", "yellow"]
]];
let arrToObj = arr.map(el => Object.fromEntries(el));
console.log(arrToObj);
// [{id: '1', name: 'jenny', color: 'yellow'}]
console.log(arrToObj[0]);
// {id: '1', name: 'jenny', color: 'yellow'}
map으로 배열을 이차원배열로 변환
const arr = ['A','B','A','D','C','A','F','G','B'];
result = arr.map(v => [v,null]);
console.log(result);
/**
[
['A',null],
['B',null],
['A',null],
...
['B',null]
]
**/
Object.fromEntries로 이차원 배열을 객체로 변환. 그 과정에서 중복되는 Key가 제거되며 Key를 기준으로 정렬됨.
const arr = ['A','B','A','D','C','A','F','G','B'];
result = Object.fromEntries(
arr.map(v => [v,null])
);
console.log(result);
/**
{
A: null
B: null
C: null
D: null
F: null
G: null
}
**/
Object.keys로 key만 추출해서 배열로 반환함.
const arr = ['A','B','A','D','C','A','F','G','B'];
result = Object.keys(
Object.fromEntries(
arr.map(v => [v,null])
)
);
console.log(result);
// ['A', 'B', 'D', 'C', 'F', 'G']