/*! * array-each * * Copyright (c) 2015, 2017, Jon Schlinkert. * Released under the MIT License. */ 'use strict'; /** * Loop over each item in an array and call the given function on every element. * * ```js * each(['a', 'b', 'c'], function(ele) { * return ele + ele; * }); * //=> ['aa', 'bb', 'cc'] * * each(['a', 'b', 'c'], function(ele, i) { * return i + ele; * }); * //=> ['0a', '1b', '2c'] * ``` * * @name each * @alias forEach * @param {Array} `array` * @param {Function} `fn` * @param {Object} `thisArg` (optional) pass a `thisArg` to be used as the context in which to call the function. * @return {undefined} * @api public */ module.exports = function each(arr, cb, thisArg) { if (arr == null) return; var len = arr.length; var idx = -1; while (++idx < len) { var ele = arr[idx]; if (cb.call(thisArg, ele, idx, arr) === false) { break; } } };