Sha256: 4ca8a8d7cc53af3a3579a20280fdc776dbfdad4604f9079366db97f20fdea127

Contents?: true

Size: 778 Bytes

Versions: 69

Compression:

Stored size: 778 Bytes

Contents


    /**
     * Array reduce
     */
    function reduce(arr, fn, initVal) {
        // check for args.length since initVal might be "undefined" see #gh-57
        var hasInit = arguments.length > 2,
            result = initVal;

        if (arr == null || !arr.length) {
            if (!hasInit) {
                throw new Error('reduce of empty array with no initial value');
            } else {
                return initVal;
            }
        }

        var i = -1, len = arr.length;
        while (++i < len) {
            if (!hasInit) {
                result = arr[i];
                hasInit = true;
            } else {
                result = fn(result, arr[i], i, arr);
            }
        }

        return result;
    }

    module.exports = reduce;

Version data entries

69 entries across 69 versions & 2 rubygems

Version Path
trusty-festivity-extension-2.6.3 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.6.2 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.6.1 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.6 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.19 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.18 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.17 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.16 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.15 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.14 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.13 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.12 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.11 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.10 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.9 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.8 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.7 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.6 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.5 node_modules/bower/node_modules/mout/array/reduce.js
trusty-festivity-extension-2.5.4 node_modules/bower/node_modules/mout/array/reduce.js