function compact(array) {
    var result = [];
    if (!array) {
      return result;
    }
    var index = -1,
        length = array.length;

    while (++index < length) {
      if (array[index]) {
        result.push(array[index]);
      }
    }
    return result;
  }
Creates a new array with all falsey values of `array` removed. The values
`false`, `null`, `0`, `""`, `undefined` and `NaN` are all falsey.

@static
@memberOf _
@category Arrays
@param {Array} array The array to compact.
@returns {Array} Returns a new filtered array.
@example

_.compact([0, 1, false, 2, '', 3]);
// => [1, 2, 3]