Skip to content

Commit bbd2ad5

Browse files
author
Ralph Holzmann
committed
Allow context to be passed as a third argument to can.each.
1 parent 19c9ca0 commit bbd2ad5

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

util/array/each.js

+18-14
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
11
steal(function(){
2-
can.each = function(elements, callback) {
2+
can.each = function( elements, callback, context ) {
33
var i = 0, key;
4-
if ( elements ) {
5-
if (typeof elements.length == 'number' && elements.pop) {
6-
elements.attr && elements.attr('length');
7-
for(var len = elements.length; i < len; i++) {
8-
if(callback(elements[i], i, elements) === false) return elements;
9-
}
10-
} else {
11-
for(key in elements) {
12-
if(callback(elements[key], key) === false) return elements;
13-
}
14-
}
15-
}
4+
if ( elements ) {
5+
if ( typeof elements.length == 'number' && elements.pop ) {
6+
elements.attr && elements.attr('length');
7+
for ( var len = elements.length; i < len; i++ ) {
8+
if ( callback.call( context, elements[i], i, elements ) === false ) {
9+
break;
10+
}
11+
}
12+
} else {
13+
for ( key in elements ) {
14+
if ( callback.call( context, elements[key], key ) === false ) {
15+
break;
16+
}
17+
}
18+
}
19+
}
1620
return elements;
1721
}
18-
})
22+
});

0 commit comments

Comments
 (0)