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