add hw2
This commit is contained in:
		
							
								
								
									
										51
									
								
								node_modules/lodash/reduce.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								node_modules/lodash/reduce.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| var arrayReduce = require('./_arrayReduce'), | ||||
|     baseEach = require('./_baseEach'), | ||||
|     baseIteratee = require('./_baseIteratee'), | ||||
|     baseReduce = require('./_baseReduce'), | ||||
|     isArray = require('./isArray'); | ||||
|  | ||||
| /** | ||||
|  * Reduces `collection` to a value which is the accumulated result of running | ||||
|  * each element in `collection` thru `iteratee`, where each successive | ||||
|  * invocation is supplied the return value of the previous. If `accumulator` | ||||
|  * is not given, the first element of `collection` is used as the initial | ||||
|  * value. The iteratee is invoked with four arguments: | ||||
|  * (accumulator, value, index|key, collection). | ||||
|  * | ||||
|  * Many lodash methods are guarded to work as iteratees for methods like | ||||
|  * `_.reduce`, `_.reduceRight`, and `_.transform`. | ||||
|  * | ||||
|  * The guarded methods are: | ||||
|  * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, | ||||
|  * and `sortBy` | ||||
|  * | ||||
|  * @static | ||||
|  * @memberOf _ | ||||
|  * @since 0.1.0 | ||||
|  * @category Collection | ||||
|  * @param {Array|Object} collection The collection to iterate over. | ||||
|  * @param {Function} [iteratee=_.identity] The function invoked per iteration. | ||||
|  * @param {*} [accumulator] The initial value. | ||||
|  * @returns {*} Returns the accumulated value. | ||||
|  * @see _.reduceRight | ||||
|  * @example | ||||
|  * | ||||
|  * _.reduce([1, 2], function(sum, n) { | ||||
|  *   return sum + n; | ||||
|  * }, 0); | ||||
|  * // => 3 | ||||
|  * | ||||
|  * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { | ||||
|  *   (result[value] || (result[value] = [])).push(key); | ||||
|  *   return result; | ||||
|  * }, {}); | ||||
|  * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) | ||||
|  */ | ||||
| function reduce(collection, iteratee, accumulator) { | ||||
|   var func = isArray(collection) ? arrayReduce : baseReduce, | ||||
|       initAccum = arguments.length < 3; | ||||
|  | ||||
|   return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach); | ||||
| } | ||||
|  | ||||
| module.exports = reduce; | ||||
		Reference in New Issue
	
	Block a user
	 nik
					nik