array-walker

1.1.0 • Public • Published

Array Walker

Traverses a multi-dimensional array and fires off a callback with a value and its relationship.

Example

let walker = require('array-walker');
 
// A single-dimensional array
walker(['a', 'b'], (value, key) => console.log(value, key));
// a, 0
// b, 1
 
// A two-dimensional array
walker([['a', 'b'], ['c', 'd']], (value, x, y) => console.log(value, x, y));
// a, 0, 0
// b, 0, 1
// c, 1, 0
// d, 1, 1
 
// A 12-dimensional array
walker(
  [[[[[[[[[[[['a', 'b']]]]]], 'c']]]]]],
  (value, ...lineage) => console.log(value, ...lineage)
);
// a, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
// b, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1
// c, 0, 0, 0, 0, 0, 1
 
 
// With context
walker(['a', 'b'], callbackWithContext, {example: "The Answer"});
// The Answer, a, 0
// The Answer, b, 1
 
function callbackWithContext(value, key) {
  console.log(this.example, value, key);
}

Installation

$ npm install array-walker

API

var walker = require('array-walker');

walker(items, observationCallback, context, ...lineage)

Type Data Type Name Description
parameter *[] items The array to walk.
parameter function observationCallback The function to call when a non-array value is found.
parameter * The context passed to the callback
parameter ...number [lineage] The parent indexes.
returns undefined n/a n/a

observationCallback(value, ...lineage)

The observation callback is fired when a non-array value is found.

Type Data Type Name Description
this * this The context passed to the walker
parameter !*[] value The value that was discovered.
parameter ...number lineage The indexes in each dimension of the array.
returns undefined n/a n/a

Links

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i array-walker

      Weekly Downloads

      2

      Version

      1.1.0

      License

      ISC

      Last publish

      Collaborators

      • lm3