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 소년코딩
추천은 글쓴이에게 큰 도움이 됩니다.
악플보다 무서운 무플, 댓글은 블로그 운영에 큰 힘이됩니다.