each
each함수는 배열의 각 요소 혹은 객체의 각 프로퍼티를 꺼내서 차례대로 특정 함수에 인자로 넣어 실행시키는 함수다.
매우 유용한 함수로 대부분의 자바스크립트 라이브러리에 기본적으로 구현되어있따.
보통 each 또는 forEach 라는 이름으로 제공된다.
- jQuery 1,0의 each 함수
// jQuery 1.0의 each() 함수
function each(obj, fn, args) {
if (obj.length == undefined) {
for (var i in obj) {
fn.apply(obj[i], args || [i, obj[i]]);
}
}
else {
for (var i = 0; i < obj.length; i++) {
fn.apply(obj[i], args || [i, obj[i]]);
}
}
return obj;
}
each([1, 2, 3], function(idx, num) {
console.log(idx + ': ' + num);
});
/* 0: 1 1: 2 2: 3 */
var blog = {
name : 'oppacoding',
age: 25,
gender: 'man'
};
each(blog, function(name, value) {
console.log(name + ': ' + value);
});
/* name: 'oppacoding' age: 25 gender: 'man' */
obj에 length 프로퍼티가 있는 경우(배열)와 없는 경우(객체)로 나누어서 루프를 돌며,
각 요소를 인자로 하여 차례대로 함수를 호출한다
by 소년코딩
추천은 글쓴이에게 큰 도움이 됩니다.
악플보다 무서운 무플, 댓글은 블로그 운영에 큰 힘이됩니다.
'자바스크립트 이야기 > 기본 강좌' 카테고리의 다른 글
소년코딩의 자바스크립트 강좌 37. 즉시 실행 함수를 이용한 블록 스코프 (0) | 2016.09.27 |
---|---|
소년코딩의 자바스크립트 강좌 36. map, wrapper (0) | 2016.09.27 |
소년코딩의 자바스크립트 강좌 34. 바인드(bind) (0) | 2016.09.27 |
소년코딩의 자바스크립트 강좌 33. 커링(currying) (1) | 2016.09.27 |
소년코딩의 자바스크립트 강좌 32. 함수형 프로그래밍 (0) | 2016.09.27 |
댓글 로드 중…