2.5 KiB
2.5 KiB
array-iterate
Array#forEach() with the possibility to change the next
position.
Installation
npm:
npm install array-iterate
Usage
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])
Functions 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 overcallback(Function) — Callback given toiteratecontext(*, optional) — Context object to use when invokingcallback
function callback(value, index, values)
Callback given to iterate.
Parameters
value(*) — Current iterationindex(number) — Position ofvalueinvaluesvalues(Array-like thing) — Currently iterated over
Context
context, when given to iterate.
Returns
number (optional) — Position to go to next.