compactArray.js 524 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
/**
 * Copyright 2015-present Facebook. All Rights Reserved.
 *
 * @typechecks
 * 
 */
'use strict';
/**
 * Returns a new Array containing all the element of the source array except
 * `null` and `undefined` ones. This brings the benefit of strong typing over
 * `Array.prototype.filter`.
 */

function compactArray(array) {
  var result = [];

  for (var i = 0; i < array.length; ++i) {
    var elem = array[i];

    if (elem != null) {
      result.push(elem);
    }
  }

  return result;
}

module.exports = compactArray;