[JS]배열 및 객체 순회(for-in 문/for-of 문)

hyeonze·2021년 12월 6일
0

실험해본 차이점 먼저!(헷갈려서 찾아볼것 같다)

for-in 문

인덱스/키를 변수로 사용, 배열/객체 상관없이 사용

let arr = [200, 300, 100];
let obj = {
  사과 : 200,
  배 : 300,
  귤 : 100,
};

// 배열에서 for-in
for (let i in arr) {
console.log(i, arr[i]);
}
/*
  '0' 200
  '1' 300
  '2' 100
*/

// 객체에서 for-in
for (let i in obj) {
console.log(i, obj[i]);
}
/*
  '사과' 200
  '배' 300
  '귤' 100
*/

for-of 문

값을 변수로 사용, 객체에서 사용시 에러발생(not iterable)

let arr = [200, 300, 100];
let obj = {
  사과 : 200,
  배 : 300,
  귤 : 100,
};

// 배열에서 for-of
for (let x of arr) {
  console.log(x);
}
/*
  200
  300
  100
*/

// 객체에서 for-of
for (let x of obj) {
  console.log(x);
}
// TypeError: obj is not iterable

for-in 문

배열에서 사용

let 뒤가 인덱스, in 뒤는 순회할 배열

for (let i in arr) {
console.log(i)
console.log(arr[i])
}

객체에서 사용

let 뒤가 키, in 뒤는 순회할 객체

const obj = {
  name: 'melon',
  weight: 4350,
  price: 16500,
  isFresh: true
}

for (let key in obj) {
  const value = obj[key]

  console.log(key)
  console.log(value)
}

배열 순회를 위해 forEach함수를 쓰기도 함

forEach

profile
Advanced thinking should be put into advanced code.

0개의 댓글