@walts81/linq-ts
Version:
Typescript/Javascript LINQ implementation library
20 lines (19 loc) • 495 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sum = void 0;
Array.prototype.sum = sum;
const getSafeNumber = (val) => {
if (!val)
return 0;
const numVal = Number(val);
return isNaN(numVal) ? 0 : numVal;
};
function sum(expression = x => x) {
let amount = 0;
const length = this.length;
for (let i = 0; i < length; i++) {
amount += getSafeNumber(expression(this[i], i));
}
return amount;
}
exports.sum = sum;