Skip to content

Commit 2d683a7

Browse files
authored
Changed each looping
1 parent 5b15824 commit 2d683a7

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

lib/dom.js

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1132,23 +1132,28 @@
11321132
* @param {Method} callBack
11331133
* @return {Array/Object}
11341134
*/
1135-
dom.each = dom.prototype.each = function(obj, callBack) {
1136-
var length, i = 0;
1137-
if (this.isArray(obj)) {
1138-
length = obj.length;
1139-
for (; i < length; i++) {
1140-
if (callBack.call(obj[i], i, obj[i]) === false) {
1135+
dom.each = dom.prototype.each = function(iterableItem, callBack) {
1136+
var length, keyOrIndex = 0,
1137+
retVal;
1138+
if (this.isArray(iterableItem)) {
1139+
length = iterableItem.length;
1140+
for (; keyOrIndex < length; keyOrIndex++) {
1141+
retVal = callBack(keyOrIndex, iterableItem[keyOrIndex]);
1142+
if (retVal === false) {
11411143
break;
11421144
}
11431145
}
11441146
} else {
1145-
for (i in obj) {
1146-
if (callBack.call(obj[i], i, obj[i]) === false) {
1147-
break;
1147+
for (keyOrIndex in iterableItem) {
1148+
if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {
1149+
retVal = callBack(keyOrIndex, iterableItem[keyOrIndex]);
1150+
if (retVal === false) {
1151+
break;
1152+
}
11481153
}
11491154
}
11501155
}
1151-
return obj;
1156+
return iterableItem;
11521157
};
11531158
/**
11541159
* Extend or Merge a JavaScript object with the key/value pairs of another.

0 commit comments

Comments
 (0)