JavaScript
자바스크립트 배열과 객체에서의 for문
ktko
2018. 7. 6. 21:33
자바스크립트 배열과 객체에서의 for문
자바스크립트에서 배열과 객체의 프로퍼티를 가져오기 위해 for문을 사용합니다.
기본적으로 다른 언어 C 또는 JAVA를 사용했다면 아래와 같은 방법으로 배열 인덱스의 값을 가져오는 것을 누구나 할 수 있습니다.
var arrays = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; for(var i=0; i < arrays.length; i++) { console.log(arrays[i]); } for(var i in arrays) { console.log(arrays[i]); }
그럼 객체안에 선언된 값들을 가져오려면 어떻게 해야할까. for in 문을 사용하면 된니다. for( in )문을 사용해서 key값을 이용하여 객체의 저장된 value를 알 수 있습니다.
아래 예제를 보면
var obj1 = { id : 'ktko', age : '30', home: 'seoul' } for(var key in obj1) { console.log(key + " : " + obj1[key]); }
console.log("========================");
var obj2 = { id : 'ktko', age : '30', home: 'seoul', method: function() { console.log('ktko'); } } for(var key in obj2) { console.log(key + " : " + obj1[key]); }
주의할 점은 메서드는 객체에서 가져올 수 없습니다.
아래 예제 결과에 보면 같은 오브젝트지만 메서드가 obj2에는 추가되었다 하지만 결과는 선언된 function이 undefined로 나옴을 알 수 있습니다.
결과
id : ktko
age : 30
home : seoul
=========================
id : ktko
age : 30
home : seoul
method : undefined