UNPKG

@walts81/linq-ts

Version:

Typescript/Javascript LINQ implementation library

20 lines (19 loc) 495 B
"use strict"; 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;