|
|
var isArrayLike = require('./isArrayLike'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function createBaseEach(eachFunc, fromRight) { |
|
|
return function(collection, iteratee) { |
|
|
if (collection == null) { |
|
|
return collection; |
|
|
} |
|
|
if (!isArrayLike(collection)) { |
|
|
return eachFunc(collection, iteratee); |
|
|
} |
|
|
var length = collection.length, |
|
|
index = fromRight ? length : -1, |
|
|
iterable = Object(collection); |
|
|
|
|
|
while ((fromRight ? index-- : ++index < length)) { |
|
|
if (iteratee(iterable[index], index, iterable) === false) { |
|
|
break; |
|
|
} |
|
|
} |
|
|
return collection; |
|
|
}; |
|
|
} |
|
|
|
|
|
module.exports = createBaseEach; |
|
|
|