32 lines
		
	
	
		
			879 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
		
			879 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | var baseIteratee = require('./_baseIteratee'), | ||
|  |     baseMean = require('./_baseMean'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * This method is like `_.mean` except that it accepts `iteratee` which is | ||
|  |  * invoked for each element in `array` to generate the value to be averaged. | ||
|  |  * The iteratee is invoked with one argument: (value). | ||
|  |  * | ||
|  |  * @static | ||
|  |  * @memberOf _ | ||
|  |  * @since 4.7.0 | ||
|  |  * @category Math | ||
|  |  * @param {Array} array The array to iterate over. | ||
|  |  * @param {Function} [iteratee=_.identity] The iteratee invoked per element. | ||
|  |  * @returns {number} Returns the mean. | ||
|  |  * @example | ||
|  |  * | ||
|  |  * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; | ||
|  |  * | ||
|  |  * _.meanBy(objects, function(o) { return o.n; }); | ||
|  |  * // => 5
 | ||
|  |  * | ||
|  |  * // The `_.property` iteratee shorthand.
 | ||
|  |  * _.meanBy(objects, 'n'); | ||
|  |  * // => 5
 | ||
|  |  */ | ||
|  | function meanBy(array, iteratee) { | ||
|  |   return baseMean(array, baseIteratee(iteratee, 2)); | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = meanBy; |