You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
927 B
39 lines
927 B
var baseSlice = require('./_baseSlice'), |
|
toInteger = require('./toInteger'); |
|
|
|
/** |
|
* Creates a slice of `array` with `n` elements dropped from the end. |
|
* |
|
* @static |
|
* @memberOf _ |
|
* @since 3.0.0 |
|
* @category Array |
|
* @param {Array} array The array to query. |
|
* @param {number} [n=1] The number of elements to drop. |
|
* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. |
|
* @returns {Array} Returns the slice of `array`. |
|
* @example |
|
* |
|
* _.dropRight([1, 2, 3]); |
|
* // => [1, 2] |
|
* |
|
* _.dropRight([1, 2, 3], 2); |
|
* // => [1] |
|
* |
|
* _.dropRight([1, 2, 3], 5); |
|
* // => [] |
|
* |
|
* _.dropRight([1, 2, 3], 0); |
|
* // => [1, 2, 3] |
|
*/ |
|
function dropRight(array, n, guard) { |
|
var length = array == null ? 0 : array.length; |
|
if (!length) { |
|
return []; |
|
} |
|
n = (guard || n === undefined) ? 1 : toInteger(n); |
|
n = length - n; |
|
return baseSlice(array, 0, n < 0 ? 0 : n); |
|
} |
|
|
|
module.exports = dropRight;
|
|
|