take.js (851B)
1 var baseSlice = require('./_baseSlice'), 2 toInteger = require('./toInteger'); 3 4 /** 5 * Creates a slice of `array` with `n` elements taken from the beginning. 6 * 7 * @static 8 * @memberOf _ 9 * @since 0.1.0 10 * @category Array 11 * @param {Array} array The array to query. 12 * @param {number} [n=1] The number of elements to take. 13 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 14 * @returns {Array} Returns the slice of `array`. 15 * @example 16 * 17 * _.take([1, 2, 3]); 18 * // => [1] 19 * 20 * _.take([1, 2, 3], 2); 21 * // => [1, 2] 22 * 23 * _.take([1, 2, 3], 5); 24 * // => [1, 2, 3] 25 * 26 * _.take([1, 2, 3], 0); 27 * // => [] 28 */ 29 function take(array, n, guard) { 30 if (!(array && array.length)) { 31 return []; 32 } 33 n = (guard || n === undefined) ? 1 : toInteger(n); 34 return baseSlice(array, 0, n < 0 ? 0 : n); 35 } 36 37 module.exports = take;