Initial commit
[yaffs-website] / node_modules / grunt-contrib-watch / node_modules / globule / node_modules / lodash / compact.js
1 /**
2  * Creates an array with all falsey values removed. The values `false`, `null`,
3  * `0`, `""`, `undefined`, and `NaN` are falsey.
4  *
5  * @static
6  * @memberOf _
7  * @since 0.1.0
8  * @category Array
9  * @param {Array} array The array to compact.
10  * @returns {Array} Returns the new array of filtered values.
11  * @example
12  *
13  * _.compact([0, 1, false, 2, '', 3]);
14  * // => [1, 2, 3]
15  */
16 function compact(array) {
17   var index = -1,
18       length = array == null ? 0 : array.length,
19       resIndex = 0,
20       result = [];
21
22   while (++index < length) {
23     var value = array[index];
24     if (value) {
25       result[resIndex++] = value;
26     }
27   }
28   return result;
29 }
30
31 module.exports = compact;