MikeMcl / bignumber.js

A JavaScript library for arbitrary-precision decimal and non-decimal arithmetic
http://mikemcl.github.io/bignumber.js
MIT License
6.63k stars 743 forks source link

since bignumber.js is immutable then how to get the sum of an bignumber array? #335

Closed laptopmutia closed 1 year ago

laptopmutia commented 1 year ago

since bignumber.js is immutable then how to get the sum of an bignumber array?

is it fine if I map my array and chain it by .plus(Bignumber(number)).plus(Bignumber(number))

shuckster commented 1 year ago

You can use reduce:

const arr = [
  BigNumber(0),
  BigNumber(1),
  BigNumber(2),
  BigNumber(3),
  BigNumber(4),
  BigNumber(5),
  BigNumber(6),
]

const sum = arr.reduce((acc, next) => {
  return acc.plus(next)
}, BigNumber(0))

console.log(sum.toString())
// 21