안녕하세요. 박기린 입니다.
지금부터 Object 예약어를 이용해서 Object loop를 만드는 방법에 대해 알아보겠습니다.
const openingHours = {
thu: {
open: 12,
close: 22,
},
fri: {
open: 11,
close: 23,
},
sat: {
open: 0, // Open 24 hours
close: 24,
},
};
우선 openingHours 라는 객체가 있다고 가정을 하고 설명을 시작하겠습니다.
Object.Keys() - names of properties
Object.Keys()안에 인수로 Object 변수를 넣습니다. 그러면 해당 Object가 가진 property의 이름들을 Array에 담아서 return 합니다.
const properties = Object.keys(openingHours);
console.log(properties); // ['thu', 'fri', 'sat']
let openStr = `We are open on ${properties.length} days: `;
for (const day of properties) {
openStr += `${day}, `;
}
console.log(openStr);
Object.values() - values of properties
Object.values()안에 인수로 Object 변수를 넣습니다. 그러면 해당 Object가 가진 values(propertIes가 가진 값들)을 Array에 담아서 return 합니다.
const values = Object.values(openingHours);
console.log(values);
Object.entries()
Object.entries()는 [property이름, property 안에 담긴 value] 를 묶어서 Array로 저장한 후, Array에 하나씩 담는 구조입니다.
말로는 설명이 어려우니, openingHours Object의 entries를 보여드리겠습니다.
[key(propertyName), value]을 element로 가지는 Array를 반환합니다. ===> 이중 Array를 반환합니다.
응용 예시
const entries = Object.entries(openingHours); // entries = openingHours.entries()
for (const [key, {open, close}] of entries) {
console.log(`On ${key} we open at ${open} and close at ${close}`);
}
반응형
'JS > JavaScript 강의' 카테고리의 다른 글
42-2. String 내장 메소드를 응용해보기 (0) | 2022.11.23 |
---|---|
42. String 내장 메소드를 응용해보기 (0) | 2022.11.22 |
40. Optional Chaining (?.) (0) | 2022.11.16 |
39. ES6 버전의 Enhanced Object Literals (0) | 2022.11.15 |
38. for-of로 Array의 Element에 접근하기 (0) | 2022.11.14 |