배열을 순회하는 방법 중 기본 for문 외에도 더욱 쉽고 유용한 방법들이 존재한다.
배열순회
for (let item of arr) {
//arr 배열을 item으로 반환
console.log(item);
}
객체순회
Object.keys()let person = {
name: "이정환",
age: 27,
hobby: "테니스",
};
let keys = Object.keys(person);
//person의 key를 추출하여 배열로 반환
for (let key of keys) {
const value = person[key];
//반환된 key를 이용하여 person객체의 값에 접근
console.log(key, value);
}
let values = Object.values(person);
//person 객체의 value를 추출하여 배열로 반환
for (let value of values) {
console.log(value);
}
for (let key in person) {
const value = person[key];
console.log(key, value);
}
for...in 과 Object.keys() 는 둘 다 속성을 기준으로 순회하지만 Object.keys()는 배열을 반환하고 반환된 배열을 통해 다시 객체의 값에 접근하는 반복문이 한 번 더 사용되지만 for...in의 경우 한 번에 키와 값을 모두 순회 가능하다.
정리
Object.keys()는 키 배열을 반환하고, 이 배열을 다룰 수 있는 추가적인 유연성을 제공.for...in은 배열을 반환하지 않고 객체의 키를 직접 순회하며, 간단한 반복 작업에 적합.