deep-for-each
v3.0.0
Published
Recursively iterates over arrays and objects
Downloads
571,194
Maintainers
Readme
deep-for-each
Recursively iterates over arrays and objects. The iteration is made using a deep-first algorithm.
Installation
$ npm install deep-for-each
This library is written in modern JavaScript and is published in both CommonJS and ES module transpiled variants. If you target older browsers please make sure to transpile accordingly.
Usage
import deepForEach from 'deep-for-each';
deepForEach({
prop1: 'foo',
prop2: ['foo', 'bar'],
prop3: ['foo', 'foo'],
prop4: {
prop5: 'foo',
prop6: 'bar',
},
}, (value, key, subject, path) => {
// `value` is the current property value
// `key` is the current property name
// `subject` is either an array or an object
// `path` is the iteration path, e.g.: 'prop2[0]' and 'prop4.prop5'
console.log(`${path}:`, value);
});
Running the example above will print:
prop1: foo
prop2: [ 'foo', 'bar' ]
prop2[0]: foo
prop2[1]: bar
prop3: [ 'foo', 'foo' ]
prop3[0]: foo
prop3[1]: foo
prop4: { prop5: 'foo', prop6: 'bar' }
prop4.prop5: foo
prop4.prop6: bar
Tests
$ npm test
$ npm test -- --watch # during development
License
Released under the MIT License.