time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

flatMap.js (812B)


      1 var baseFlatten = require('./_baseFlatten'),
      2     map = require('./map');
      3 
      4 /**
      5  * Creates a flattened array of values by running each element in `collection`
      6  * thru `iteratee` and flattening the mapped results. The iteratee is invoked
      7  * with three arguments: (value, index|key, collection).
      8  *
      9  * @static
     10  * @memberOf _
     11  * @since 4.0.0
     12  * @category Collection
     13  * @param {Array|Object} collection The collection to iterate over.
     14  * @param {Function} [iteratee=_.identity] The function invoked per iteration.
     15  * @returns {Array} Returns the new flattened array.
     16  * @example
     17  *
     18  * function duplicate(n) {
     19  *   return [n, n];
     20  * }
     21  *
     22  * _.flatMap([1, 2], duplicate);
     23  * // => [1, 1, 2, 2]
     24  */
     25 function flatMap(collection, iteratee) {
     26   return baseFlatten(map(collection, iteratee), 1);
     27 }
     28 
     29 module.exports = flatMap;