Javascript/Basic

[Basic] for …in 반복문을 처리하는 배열과 객체 (obj & array for looping)

yoonjong Park 2021. 6. 23.

The developer say code.

배열인 경우는 index를 출력한다.

 

객체인 경우는 key 값을 순서대로 출력한다.  객체를 만약 {a:1, c:2, b:3} 이렇게 입력했으면, a,c,b 순서로 출력을 행한다.

이런 특성을 Enumerable 이라고 한다고 한다. Enumerable 이라는 것 자체가 순서를 열거할 수 있는 것에 대한 것을 말한다.

사실 find나 map, filter 같은 것도 모두 동일한 특성을 갖고 있다.  (추가적인 자료는 밑에 참조 경로를 참조)

 

index 나 key를 string 으로 받기 때문에 index가 있거나, key가 있을 때, 예를 들어,

if(Array.key=== "a") { /* codes */}  같은 방식으로 실행이 가능 할 것 같다.

 

input

console.log("typeof Array");
const array = [1,2,3];
for (let index in array){
  console.log(index, array[index]);
}


console.log("typeof OBJ");
const obj = {
  a : 1,
  b : 2,
  c : 3,
}
for (let key in obj){
  console.log(key, obj[key]);
}

 

output

// Console
"typeof Array"
"0" 1
"1" 2
"2" 3

"typeof OBJ"
"a" 1
"b" 2
"c" 3

 

출처 : https://jsdev.kr/t/for-in-vs-for-of/2938

참조 :

https://developer.mozilla.org/ko/docs/Web/JavaScript/Enumerability_and_ownership_of_properties

http://blog.woong.org/v/551d17b906c2ab0c569cebda

댓글