Noteworthy Programming Masterpiece

    deep-for-each

    3.0.0 • Public • Published

    deep-for-each

    NPM version Downloads Build Status Coverage Status Dependency status Dev Dependency status

    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.

    Install

    npm i deep-for-each

    DownloadsWeekly Downloads

    72,989

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    8.45 kB

    Total Files

    6

    Last publish

    Collaborators

    • satazor