Lonely Snowman
 

[JQuery] each() 반복문

먼저 객체를 이렇게 생성했다

let obj = {
	key1 : 'value1',
	key2 : 'value2',
	key3 : 'value3'
};

 

 

1. selector 이용하는 방법 (jQuery 일반 메서드)

//선택자 대상 each문법 - $('선택자').each(콜백)
$(obj).each(function(i, v){
	console.log(this);	// 객체 한 덩어리 자체를 반환
	console.log(i);		// 객체 한 덩어리를 가리키는 index 0을 반환
	console.log(v);		// this와 동일
});

출력 결과

 

 

2. object 이용하는 방법 (jQuery 유틸리티 메서드)

//객체 대상 each문법 - $.each(객체, 콜백)
$.each(obj, function(i, v){
	console.log(this);	//객체의 순차적인 value정보를 반환
	console.log(i);		//객체의 순차적인 key정보를 반환
	console.log(v);		//this와 동일
});

출력 결과

 

객체대상 each 문법은 객체의 개수만큼 함수 호출하는데

셀 수 없는 (length속성을 갖지 않는) 대상을 넣게 되면 오류발생한다

 

 

객체 말고 배열과 유사배열도 마찬가지로 사용 가능하다

obj 객체를 배열로 바꾸고 다시 실행해봤다

let obj = ['value1','value2','value3'];

출력 결과

key값 대신 인덱스가 나오는 걸 확인할 수 있다