[Javascript] 반복문을 통해서 객체나 배열 순회
순회: 배열, 객체에 저장된 여러 개의 값에 순서대로 하나씩 접근하는 것 의미
배열 순회
let arr = ['a', 'b', 'c'];
1. 배열 인덱스 이용
인덱스를 이용하면 카운터 변수에 인덱스를 저장하여 인덱스를 이용해 순회
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
2. for of 반복문(오직 배열 순회만을 위해 존재)
for of는 인덱스를 따로 저장하지 않고 배열 안에 값들을 순서대로 순회
for (let 변수이름 of 배열이름)
두개가 큰 성능 차이는 없어서 본인이 쓰기 편한 것으로 쓰기
객체 순회
let me = {
name: "mm_스터디",
age: 27,
country: "대한민국",
};
1. Object.keys 사용
객체에서 key 값들만 뽑아서 새로운 배열로 반환해 주는 내장함수
let keys = Object.keys(me);
→keys 값에 객체의 key 값들이 배열로 저장((3) ['name', 'age', 'country'])
for (let i = 0; i < keys.length; i++) {
console.log(keys[i]);
}
→ 배열 값 순회
이 때 key 값만 순회 value 값도 순회하고 싶다면
for (let key of keys) {
const value = me[key];
console.log(key, value);
}
2. Object.values 내장함수 이용
객체에서 value값들만 뽑아서 새로운 배열로 반환해 주는 내장함수
let values = Object.values(me);
for (let value of values) {
console.log(value);
}
3. for in 사용(객체만을 위해 존재하는 특별한 반복문)
for (let 변수이름 in 객체이름)
for (let key in me) {
const value = me[key];
console.log(key, value);
}