nerdamer-ts
Version:
javascript light-weight symbolic math expression evaluator
24 lines • 781 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.arraySum = void 0;
const Symbol_1 = require("../Types/Symbol");
const Core_1 = require("../Functions/Core");
const Utils_1 = require("./Utils");
const Parser_1 = require("../Parser/Parser");
/**
* Returns the sum of an array
* @param {Array} arr
* @param {boolean} toNumber
* @returns {Symbol}
*/
function arraySum(arr, toNumber = false) {
var sum = new Symbol_1.Symbol(0);
for (var i = 0; i < arr.length; i++) {
var x = arr[i];
// Convert to symbol if not
sum = (0, Core_1.add)(sum, !(0, Utils_1.isSymbol)(x) ? (0, Parser_1.parse)(x) : x);
}
return toNumber ? Number(sum) : sum;
}
exports.arraySum = arraySum;
//# sourceMappingURL=Utils.Symbol.js.map