ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
26 lines (22 loc) • 773 B
JavaScript
;
var allKeys = require('../allKeys.js');
var identity = require('../identity.js');
var isArrayLike = require('../isArrayLike.js');
function createForEach(dir) {
var forEach = function (collection, iteratee) {
if (iteratee === void 0) { iteratee = identity; }
var _keys = !isArrayLike(collection) && allKeys(collection);
var len = (_keys || collection).length;
var i = dir > 0 ? 0 : len - 1;
while (i >= 0 && i < len) {
var currentKey = _keys ? _keys[i] : i;
if (iteratee(collection[currentKey], currentKey, collection) === false) {
break;
}
i += dir;
}
return collection;
};
return forEach;
}
module.exports = createForEach;