File tree 1 file changed +15
-10
lines changed
1 file changed +15
-10
lines changed Original file line number Diff line number Diff line change 1132
1132
* @param {Method } callBack
1133
1133
* @return {Array/Object }
1134
1134
*/
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 ) {
1141
1143
break ;
1142
1144
}
1143
1145
}
1144
1146
} 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
+ }
1148
1153
}
1149
1154
}
1150
1155
}
1151
- return obj ;
1156
+ return iterableItem ;
1152
1157
} ;
1153
1158
/**
1154
1159
* Extend or Merge a JavaScript object with the key/value pairs of another.
You can’t perform that action at this time.
0 commit comments