array-iterate
forEach with the possibility to change the next position
Last updated 11 years ago by wooorm .
MIT · Repository · Bugs · Original npm
$ cnpm install array-iterate 
SYNC missed versions from official npm registry.

array-iterate

Build Coverage Downloads Size

Array#forEach() with the possibility to change the next position.

Install

npm:

npm install array-iterate

Use

var iterate = require('array-iterate')

var isFirst = true
var context = {hello: 'world'}

iterate([1, 2, 3, 4], callback, context)

function callback(value, index, values) {
  console.log(this, value, index, values)

  if (isFirst && index + 1 === values.length) {
    isFirst = false
    return 0
  }
}

Yields:

{hello: 'world'}, 1, 0, [1, 2, 3, 4]
{hello: 'world'}, 2, 1, [1, 2, 3, 4]
{hello: 'world'}, 3, 2, [1, 2, 3, 4]
{hello: 'world'}, 4, 3, [1, 2, 3, 4]
{hello: 'world'}, 1, 0, [1, 2, 3, 4]
{hello: 'world'}, 2, 1, [1, 2, 3, 4]
{hello: 'world'}, 3, 2, [1, 2, 3, 4]
{hello: 'world'}, 4, 3, [1, 2, 3, 4]

API

iterate(values, callback[, context])

Works just like Array#forEach(), but when callback returns a number, iterates over the item at number next.

Parameters
  • values (Array-like thing) — Values to iterate over
  • callback (Function) — Callback given to iterate
  • context (*, optional) — Context object to use when invoking callback

function callback(value, index, values)

Callback given to iterate.

Parameters
  • value (*) — Current iteration
  • index (number) — Position of value in values
  • values (Array-like thing) — Currently iterated over
Context

context, when given to iterate.

Returns

number (optional) — Position to go to next.

License

MIT © Titus Wormer

Current Tags

  • 1.1.4                                ...           latest (6 years ago)

3 Versions

  • 2.0.1                                ...           4 years ago
  • 1.1.4                                ...           6 years ago
  • 0.0.1                                ...           11 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (0)
None
Dev Dependencies (4)
Dependents (0)
None

Copyright 2013 - present © cnpmjs.org