code: function filter (arrayLike, predicate) {
      var len = arrayLike.length;
      var result = [];
  
      for (var i = 0; i < len; i++) {
          predicate(arrayLike[i], i, arrayLike) && result.push(arrayLike[i]);
      }
  
      return result;
  }
docs: Builds an array comprised of all values of the array-like object passing the <code>predicate</code>
  test.<br/>
  Note that unlike the native array method this function doesn't skip unassigned or deleted indexes.
  @example
  var isLowerCase = function (s) { return s.toLowerCase() === s; };
  
  _.filter(["Foo", "bar", "baZ"], isLowerCase) // => ["bar"]
  
  // the function will work with any array-like object
  _.filter("fooBAR", isLowerCase) // => ["f", "o", "o"]
  
  @memberof module:lamb
  @category Array
  @see {@link module:lamb.filterWith|filterWith}
  @param {ArrayLike} arrayLike
  @param {ListIteratorCallback} predicate
  @since 0.1.0
  @returns {Array}