UNPKG

foop

Version:

interfaces that describe their intentions.

42 lines (38 loc) 3.23 kB
var size = require('../../util/size') var preAllocate = require('../../array/preAllocate') /** * Creates an array of values by running each element of `array` thru `iteratee`. * The iteratee is invoked with three arguments: (value, index, array). * @memberOf loop * @since 5.0.0-beta.6 * * @name mapArray * @alias mapArrayVals * * @param {Array} array The array to iterate over. * @param {Function} iteratee The function invoked per iteration. * @return {Array} Returns the new mapped array. * * @category Array * * {@link https://github.com/lodash/lodash/blob/master/map.js lodash-map} * @see {@link lodash-map} * * @example * * const square = n => n * n * mapArray([4, 8], square) * //=> [16, 64] * */ function mapArray(array, iteratee) { var index = -1 var length = size(array) var result = preAllocate(length) while (++index < length) { result[index] = iteratee(array[index], index, array) } return result } module.exports = mapArray //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwQXJyYXkuanMiLCJzb3VyY2VzIjpbIm1hcEFycmF5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHNpemUgPSByZXF1aXJlKCcuLi8uLi91dGlsL3NpemUnKVxuY29uc3QgcHJlQWxsb2NhdGUgPSByZXF1aXJlKCcuLi8uLi9hcnJheS9wcmVBbGxvY2F0ZScpXG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBvZiB2YWx1ZXMgYnkgcnVubmluZyBlYWNoIGVsZW1lbnQgb2YgYGFycmF5YCB0aHJ1IGBpdGVyYXRlZWAuXG4gKiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleCwgYXJyYXkpLlxuICogQG1lbWJlck9mIGxvb3BcbiAqIEBzaW5jZSA1LjAuMC1iZXRhLjZcbiAqXG4gKiBAbmFtZSBtYXBBcnJheVxuICogQGFsaWFzIG1hcEFycmF5VmFsc1xuICpcbiAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICogQHJldHVybiB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBtYXBwZWQgYXJyYXkuXG4gKlxuICogQGNhdGVnb3J5IEFycmF5XG4gKlxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9sb2Rhc2gvbG9kYXNoL2Jsb2IvbWFzdGVyL21hcC5qcyBsb2Rhc2gtbWFwfVxuICogQHNlZSB7QGxpbmsgbG9kYXNoLW1hcH1cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqICAgY29uc3Qgc3F1YXJlID0gbiA9PiBuICogblxuICogICBtYXBBcnJheShbNCwgOF0sIHNxdWFyZSlcbiAqICAgLy89PiBbMTYsIDY0XVxuICpcbiAqL1xuZnVuY3Rpb24gbWFwQXJyYXkoYXJyYXksIGl0ZXJhdGVlKSB7XG4gIGxldCBpbmRleCA9IC0xXG4gIGNvbnN0IGxlbmd0aCA9IHNpemUoYXJyYXkpXG4gIGNvbnN0IHJlc3VsdCA9IHByZUFsbG9jYXRlKGxlbmd0aClcblxuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIHJlc3VsdFtpbmRleF0gPSBpdGVyYXRlZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSlcbiAgfVxuICByZXR1cm4gcmVzdWx0XG59XG5cbm1vZHVsZS5leHBvcnRzID0gbWFwQXJyYXlcbiJdLCJuYW1lcyI6WyJjb25zdCIsImxldCJdLCJtYXBwaW5ncyI6IkFBQUFBLEdBQUssQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0FBQ3ZDQSxHQUFLLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMkJ0RCxTQUFTLFFBQVEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFO0VBQ2pDQyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztFQUNkRCxHQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7RUFDMUJBLEdBQUssQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQzs7RUFFbEMsT0FBTyxFQUFFLEtBQUssR0FBRyxNQUFNLEVBQUU7SUFDdkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztHQUNyRDtFQUNELE9BQU8sTUFBTTtDQUNkOztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsUUFBUTsifQ==