33 lines
		
	
	
		
			730 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			730 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | var baseNth = require('./_baseNth'), | ||
|  |     baseRest = require('./_baseRest'), | ||
|  |     toInteger = require('./toInteger'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Creates a function that gets the argument at index `n`. If `n` is negative, | ||
|  |  * the nth argument from the end is returned. | ||
|  |  * | ||
|  |  * @static | ||
|  |  * @memberOf _ | ||
|  |  * @since 4.0.0 | ||
|  |  * @category Util | ||
|  |  * @param {number} [n=0] The index of the argument to return. | ||
|  |  * @returns {Function} Returns the new pass-thru function. | ||
|  |  * @example | ||
|  |  * | ||
|  |  * var func = _.nthArg(1); | ||
|  |  * func('a', 'b', 'c', 'd'); | ||
|  |  * // => 'b'
 | ||
|  |  * | ||
|  |  * var func = _.nthArg(-2); | ||
|  |  * func('a', 'b', 'c', 'd'); | ||
|  |  * // => 'c'
 | ||
|  |  */ | ||
|  | function nthArg(n) { | ||
|  |   n = toInteger(n); | ||
|  |   return baseRest(function(args) { | ||
|  |     return baseNth(args, n); | ||
|  |   }); | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = nthArg; |