UNPKG

ut2

Version:

一个现代 JavaScript 实用工具库。[点击查看在线文档]。

26 lines (22 loc) 773 B
'use strict'; 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;