19 lines
490 B
JavaScript
19 lines
490 B
JavaScript
//Make sure we have an Array.reduce() function.
|
|
if (!Array.prototype.reduce) {
|
|
Array.prototype.reduce = function(callbackfn, initVal) {
|
|
"use strict";
|
|
var arr = this,
|
|
arrLen = arr.length,
|
|
k = 0,
|
|
accumulator = initVal === undefined ? undefined : initVal;
|
|
|
|
for(;k < arrLen;k++) {
|
|
if (accumulator !== undefined && k in arr) {
|
|
accumulator = callbackfn.call(undefined, accumulator, arr[k], k, arr);
|
|
} else {
|
|
accumulator = arr[k];
|
|
}
|
|
}
|
|
return accumulator;
|
|
};
|
|
} |