프로그램

javascript( node.js ) 에서 for each + key 값을 이용해야 할 때.

(주)CKBcorp., 2015. 2. 25. 06:00
반응형




foreach ... 공돌이를 어엿비 여기어 하늘이 내려주신 도구임에 틀림없다.

만, 보통 key + value 에서 value 는 안 쓰잖아?

근데, 대상이 되는 object 의 value 말고 key 도 같이 써야 할 때가 있다.


물론 object 가 array 라면 상관 없겠지만, 세상은 그리 간단하지 않지.


임의의 object 를 key + value 로 사용해야 할 때, 이러하게 쓴다. 



var obj1 = { a:31, b:32, c:33 };


for( var lp1 in obj1 )

{

    console.log( ' lp1:' + obj1[ lp1 ] + ' ' ); // 11 -> 12 -> 13 출력 = value 출력.

    if ( obj1.hasOwnProperty( lp1 ) ) console.log( ' (' + lp1 + ') ' ); // a -> b -> c 출력 = key 출력.

}


이게 골때리는게, lp1 값을 for 문 안에서 console.log( lp1 )  같은걸로 찍어보면, 1,2,3... 이런 object 의 index no 가 찍힌다.

그런데, 이 값이 hasOwnProperty() 를 거치면, key 값을 출력하게 된다.

다시 확인해 보니까, lp1 은 언제나 key 값이 출력된다. 아마도 내 기억이 잘못된 듯 하다. 




 


반응형