Initial commit
[yaffs-website] / node_modules / grunt-contrib-watch / node_modules / globule / node_modules / lodash / _arrayReduceRight.js
1 /**
2  * A specialized version of `_.reduceRight` for arrays without support for
3  * iteratee shorthands.
4  *
5  * @private
6  * @param {Array} [array] The array to iterate over.
7  * @param {Function} iteratee The function invoked per iteration.
8  * @param {*} [accumulator] The initial value.
9  * @param {boolean} [initAccum] Specify using the last element of `array` as
10  *  the initial value.
11  * @returns {*} Returns the accumulated value.
12  */
13 function arrayReduceRight(array, iteratee, accumulator, initAccum) {
14   var length = array == null ? 0 : array.length;
15   if (initAccum && length) {
16     accumulator = array[--length];
17   }
18   while (length--) {
19     accumulator = iteratee(accumulator, array[length], length, array);
20   }
21   return accumulator;
22 }
23
24 module.exports = arrayReduceRight;