array.filter
v0.1.6
Published
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.
Downloads
218
Maintainers
Keywords
Readme
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.
npm install array.filter --save
You can also use Duo, Bower or download the files manually.
npm stats
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 (allows for pointfree programming style).
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