Initial commit
[yaffs-website] / node_modules / grunt-contrib-watch / node_modules / globule / node_modules / lodash / dropRight.js
1 var baseSlice = require('./_baseSlice'),
2     toInteger = require('./toInteger');
3
4 /**
5  * Creates a slice of `array` with `n` elements dropped from the end.
6  *
7  * @static
8  * @memberOf _
9  * @since 3.0.0
10  * @category Array
11  * @param {Array} array The array to query.
12  * @param {number} [n=1] The number of elements to drop.
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  * _.dropRight([1, 2, 3]);
18  * // => [1, 2]
19  *
20  * _.dropRight([1, 2, 3], 2);
21  * // => [1]
22  *
23  * _.dropRight([1, 2, 3], 5);
24  * // => []
25  *
26  * _.dropRight([1, 2, 3], 0);
27  * // => [1, 2, 3]
28  */
29 function dropRight(array, n, guard) {
30   var length = array == null ? 0 : array.length;
31   if (!length) {
32     return [];
33   }
34   n = (guard || n === undefined) ? 1 : toInteger(n);
35   n = length - n;
36   return baseSlice(array, 0, n < 0 ? 0 : n);
37 }
38
39 module.exports = dropRight;