Get unlimited public & private packages + team-based management with npm Teams.Learn more »

eachr

4.5.0 • Public • Published

eachr

Travis CI Build Status NPM version NPM downloads Dependency Status Dev Dependency Status
GitHub Sponsors donate button Patreon donate button Flattr donate button Liberapay donate button Buy Me A Coffee donate button Open Collective donate button crypto donate button PayPal donate button Wishlist browse button

Give eachr an item to iterate (array, object or map) and an iterator, then in return eachr gives iterator the value and key of each item, and will stop if the iterator returned false.

Install

npm

  • Install: npm install --save eachr
  • Require: require('eachr')

jspm

<script type="module">
    import * as pkg from '//dev.jspm.io/eachr'
</script> 

Editions

This package is published with the following editions:

  • eachr aliases eachr/source/index.js
  • eachr/source/index.js is esnext source code with require for modules
  • eachr/edition-browsers/index.js is esnext compiled for browsers with require for modules

Usage

Eachr accepts an array, object, or map. The iterator is bound to the list, and receives three arguments: the value, key, and list.

// Prepare
const eachr = require('eachr')
const arr = ['first', 'second', 'third']
const obj = {a: 'first', b: 'second', c: 'third'}
const map = new Map([['a', 'first'], ['b', 'second'], ['c', 'third']])
function iterator (value, key) {
    console.log({value: value, key: key})
    if ( value === 'second' ) {
        console.log('break')
        return false
    }
}
 
// Cycle Array
eachr(arr, iterator)
// {'value': 'first',  'key': 0}
// {'value': 'second', 'key': 1}
// break
 
// Cycle Object
eachr(obj, iterator)
// {'value': 'first',  'key': 'a'}
// {'value': 'second', 'key': 'b'}
// break
 
// Cycle Map
eachr(map, iterator)
// {'value': 'first',  'key': 'a'}
// {'value': 'second', 'key': 'b'}
// break
 

History

Discover the release history by heading on over to the HISTORY.md file.

Contribute

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

Backers

Maintainers

These amazing people are maintaining this project:

Sponsors

No sponsors yet! Will you be the first?

GitHub Sponsors donate button Patreon donate button Flattr donate button Liberapay donate button Buy Me A Coffee donate button Open Collective donate button crypto donate button PayPal donate button Wishlist browse button

Contributors

These amazing people have contributed code to this project:

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

License

Unless stated otherwise all works are:

and licensed under:

Install

npm i eachr

DownloadsWeekly Downloads

176,095

Version

4.5.0

License

MIT

Unpacked Size

22.8 kB

Total Files

8

Last publish

Collaborators

  • avatar
  • avatar