Sha256: de07d8b962757208ca41d71e64c90200851cede9c134c70a30323fe077466d2f

Contents?: true

Size: 1.64 KB

Versions: 109

Compression:

Stored size: 1.64 KB

Contents

var arrayFilter = require('./_arrayFilter'),
    baseFilter = require('./_baseFilter'),
    baseIteratee = require('./_baseIteratee'),
    isArray = require('./isArray');

/**
 * Iterates over elements of `collection`, returning an array of all elements
 * `predicate` returns truthy for. The predicate is invoked with three
 * arguments: (value, index|key, collection).
 *
 * **Note:** Unlike `_.remove`, this method returns a new array.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Collection
 * @param {Array|Object} collection The collection to iterate over.
 * @param {Function} [predicate=_.identity] The function invoked per iteration.
 * @returns {Array} Returns the new filtered array.
 * @see _.reject
 * @example
 *
 * var users = [
 *   { 'user': 'barney', 'age': 36, 'active': true },
 *   { 'user': 'fred',   'age': 40, 'active': false }
 * ];
 *
 * _.filter(users, function(o) { return !o.active; });
 * // => objects for ['fred']
 *
 * // The `_.matches` iteratee shorthand.
 * _.filter(users, { 'age': 36, 'active': true });
 * // => objects for ['barney']
 *
 * // The `_.matchesProperty` iteratee shorthand.
 * _.filter(users, ['active', false]);
 * // => objects for ['fred']
 *
 * // The `_.property` iteratee shorthand.
 * _.filter(users, 'active');
 * // => objects for ['barney']
 *
 * // Combining several predicates using `_.overEvery` or `_.overSome`.
 * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));
 * // => objects for ['fred', 'barney']
 */
function filter(collection, predicate) {
  var func = isArray(collection) ? arrayFilter : baseFilter;
  return func(collection, baseIteratee(predicate, 3));
}

module.exports = filter;

Version data entries

109 entries across 108 versions & 11 rubygems

Version Path
trusty-cms-6.3.1 node_modules/lodash/filter.js
immosquare-cleaner-0.1.51 node_modules/lodash/filter.js
boring_generators-0.15.0 tmp/templates/app_template/node_modules/lodash/filter.js
clapton-0.0.26 lib/clapton/javascripts/node_modules/lodash/filter.js
clapton-0.0.25 lib/clapton/javascripts/node_modules/lodash/filter.js
immosquare-cleaner-0.1.50 node_modules/lodash/filter.js
clapton-0.0.24 lib/clapton/javascripts/node_modules/lodash/filter.js
clapton-0.0.23 lib/clapton/javascripts/node_modules/lodash/filter.js
clapton-0.0.22 lib/clapton/javascripts/node_modules/lodash/filter.js
clapton-0.0.21 lib/clapton/javascripts/node_modules/lodash/filter.js
clapton-0.0.20 lib/clapton/javascripts/node_modules/lodash/filter.js
clapton-0.0.19 lib/clapton/javascripts/node_modules/lodash/filter.js
clapton-0.0.18 lib/clapton/javascripts/node_modules/lodash/filter.js
clapton-0.0.17 lib/clapton/javascripts/node_modules/lodash/filter.js
clapton-0.0.16 lib/clapton/javascripts/node_modules/lodash/filter.js
clapton-0.0.15 lib/clapton/javascripts/node_modules/lodash/filter.js
immosquare-cleaner-0.1.49 node_modules/lodash/filter.js
clapton-0.0.14 lib/clapton/javascripts/node_modules/lodash/filter.js
immosquare-cleaner-0.1.48 node_modules/lodash/filter.js
clapton-0.0.13 lib/clapton/javascripts/node_modules/lodash/filter.js