Have ideas to improve npm?Join in the discussion! »

    array.filter

    0.1.6 • Public • Published

    array.filter

    Curried function deriving a new array containing items from given array for which predicate returns true. Supports unary function, RegExp, dot/bracket-notation string path, and compound query object as predicate.

    Build Status Code Climate js-standard-style

    npm install array.filter --save

    You can also use Duo, Bower or download the files manually.

    npm stats

    npm NPM downloads David

    Overview

    Similar to [].filter but more functional and compositionally friendly.

    Features

    • Supports all dot/bracket-notation string paths supported by selectn.
    • Partial application is directly supported via currying (no need for Function.prototype.bind).
    • ES3, ES5, CommonJS, AMD, and legacy-global compatible.
    • Haskell style Parameter Order.

    API Example

    Unary function predicate
    var filter = require('array.filter')
    var numbers = [1, 2, 3, 4, 5]
    var even = function (x) { return x % 2 === 0 }
     
    filter(even, numbers)
    //=> [ 2, 4 ]
    RegExp predicate
    var filter = require('array.filter')
    var hexval = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F']
    var number = /^\d$/
     
    filter(number, hexval)
    //=> [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9  ]
    Dot-notation path string predicate
    var filter = require('array.filter')
    var messages = [
      { read: true },
      { read: true },
      { read: false }
    ]
     
    filter('read', messages).length
    //=> 2
    Compound query predicate
    var filter = require('array.filter')
    var messages = [
      { type: 'sent', meta: { read: true } },
      { type: 'received', meta: { read: true } },
      { type: 'sent', meta: { read: false } }
    ]
     
    filter({ type: 'sent', 'meta.read': false }, messages).length
    //=> 1

    API

    filter(predicate, list)

    arguments
    • predicate (Function|RegExp|String|Object) Unary function, RegExp, dot/bracket-notation string path, or compound query object.
    • list (array) Array to evaluate.
    returns
    • (array) New array containing items from given array for which predicate returns true.

    Alternatives

    Contributing

    SEE: contributing.md

    Licenses

    GitHub license

    Install

    npm i array.filter

    DownloadsWeekly Downloads

    135

    Version

    0.1.6

    License

    MIT

    Last publish

    Collaborators

    • avatar