UNPKG

foop

Version:

interfaces that describe their intentions.

33 lines (27 loc) 2.71 kB
var size = require('../../util/size') /** * A specialized version of `reduceRight` for arrays. * * @since 5.0.0-beta.7.2 * * @param {Array} [array] The array to iterate over. * @param {Function} iteratee The function invoked per iteration. * @param {*} [accumulator] The initial value. * @param {boolean} [initAccum] Specify using the last element of `array` as * the initial value. * @return {*} Returns the accumulated value. */ function arrayReduceRight(array, iteratee, accumulator, initAccum) { var length = size(array) // setup if (initAccum && length) { accumulator = array[--length] } // iterate backwards while (length--) { accumulator = iteratee(accumulator, array[length], length, array) } return accumulator } module.exports = arrayReduceRight //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlQXJyYXlSaWdodC5qcyIsInNvdXJjZXMiOlsicmVkdWNlQXJyYXlSaWdodC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBzaXplID0gcmVxdWlyZSgnLi4vLi4vdXRpbC9zaXplJylcblxuLyoqXG4gKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYHJlZHVjZVJpZ2h0YCBmb3IgYXJyYXlzLlxuICpcbiAqIEBzaW5jZSA1LjAuMC1iZXRhLjcuMlxuICpcbiAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gKiBAcGFyYW0geyp9IFthY2N1bXVsYXRvcl0gVGhlIGluaXRpYWwgdmFsdWUuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtpbml0QWNjdW1dIFNwZWNpZnkgdXNpbmcgdGhlIGxhc3QgZWxlbWVudCBvZiBgYXJyYXlgIGFzXG4gKiAgdGhlIGluaXRpYWwgdmFsdWUuXG4gKiBAcmV0dXJuIHsqfSBSZXR1cm5zIHRoZSBhY2N1bXVsYXRlZCB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gYXJyYXlSZWR1Y2VSaWdodChhcnJheSwgaXRlcmF0ZWUsIGFjY3VtdWxhdG9yLCBpbml0QWNjdW0pIHtcbiAgbGV0IGxlbmd0aCA9IHNpemUoYXJyYXkpXG5cbiAgLy8gc2V0dXBcbiAgaWYgKGluaXRBY2N1bSAmJiBsZW5ndGgpIHtcbiAgICBhY2N1bXVsYXRvciA9IGFycmF5Wy0tbGVuZ3RoXVxuICB9XG5cbiAgLy8gaXRlcmF0ZSBiYWNrd2FyZHNcbiAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgYWNjdW11bGF0b3IgPSBpdGVyYXRlZShhY2N1bXVsYXRvciwgYXJyYXlbbGVuZ3RoXSwgbGVuZ3RoLCBhcnJheSlcbiAgfVxuXG4gIHJldHVybiBhY2N1bXVsYXRvclxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGFycmF5UmVkdWNlUmlnaHRcbiJdLCJuYW1lcyI6WyJjb25zdCIsImxldCJdLCJtYXBwaW5ncyI6IkFBQUFBLEdBQUssQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQWN2QyxTQUFTLGdCQUFnQixDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRTtFQUNqRUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDOzs7RUFHeEIsSUFBSSxTQUFTLElBQUksTUFBTSxFQUFFO0lBQ3ZCLFdBQVcsR0FBRyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7R0FDOUI7OztFQUdELE9BQU8sTUFBTSxFQUFFLEVBQUU7SUFDZixXQUFXLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztHQUNsRTs7RUFFRCxPQUFPLFdBQVc7Q0FDbkI7O0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0I7In0=