Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

3 Commits

Repository files navigation

filter-iterable-javascript

A handy function for filtering any iterable and objects in javascript.

Installation

$ yarn add filter-it
# or
$ npm i -S filter-it

Usage

The api is straight forward and oriented on Array.prototype.filter.

constnewIterable=filter(iterable,callback);

Parameters

iterable

The iterable or object to filter. Supported types are String, Array, TypedArray, Map, Set, (any Iterable) & Object.

callback

A function to test every element or value of the iterable. The current item will be preserved when the callback returns a truthy value.

The function takes 3 parameters:

  • value: The current element being processed.
  • key: The corresponding key
  • iterable: The iterable passed to filter

Return Value

filter() returns a new instance of the iterable with only the entries passed the callback.

Examples

Filtering strings

filter("a1b2c3d4e5",char=>char>="0"&&char<="9");// => "12345"filter(newString("a1b2c3d4e5"),(char,index)=>index&1);// => [String: '12345']

Filtering maps

constmap=newMap([['a',1],['b',2],['c',3],['d',4],['e',5]]);filter(map,(value,key)=>key==='b'||value&1);// => Map { 'a' => 1, 'b' => 2, 'c' => 3, 'e' => 5 } 

Filtering sets

constset=newSet(['a',1,'b',2,'c',3]);filter(set,(value,key)=>value===key&&typeofvalue==='string');// => Set { 'a', 'b', 'c' } 

Filtering arrays

constarr=['a',1,'b',2,'c',3];filter(arr,(value,index)=>index&1);// => [ '1', '2', '3' ] 

Filtering typed arrays

consttypedArr=newInt32Array([1,2,-3,-4,5]);filter(typedArr,i=>i<0);// => Int32Array [ -3, -4 ]

Filtering plain objects

constobj={a: 1,b: 2,c: 3,d: 4,e: 5};filter(obj,(value,key)=>key==='b'||value&1);// => { a: 1, b: 2, c: 3, e: 5 } 

About

A javascript lib for filtering any iterable or plain object with a simple, convenient api.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages