Skip to content

Repository files navigation

filter-map

Array utility to help writing filter/map separately without struggling with reduce

Description

Have you ever experienced writing filtering and mapping over an array at the same time? will you go for this way:

constres=[1,2,3,4,5].filter(it=>it%2===0).map(it=>it**3)// Two iterationsconsole.log(res)// [8, 64]

Then I guess you have a colleague that adds a review comment to use Array's reduce to perform less iterations. Why bother writing it with reduce when you can do:

constres=[1,2,3,4,5].filterMap(it=>it%2===0,it=>it**3)// One iterationconsole.log(res)// [8, 64]

Installing

npm i -S @jamiri/filter-map

or

yarn add @jamiri/filter-map

Importing

Nodejs

require('filter-map')console.log([1,2,3].filterMap(x=>x>1,x=>x*3))

Webpack

import'filter-map'console.log([1,2,3].filterMap(x=>x>1,x=>x*3))

Api

Upon requireing/importing the package following functions are added to the array prototype

filterMap(filterFn, mapFn)
mapFilter(mapFn, filterFn)

These are now available on instances of arrays i.e. all arrays from there on.

About

Array utility to help writing filter/map logic separately w/o extra iteration

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages