The JavaScript Math.max()
method only works on the number primitive values, and not on the bigint primitive values. Therefore, to find the maximum value in a list of bigint numbers, you can do the following:
function max(...values) { if (values.length < 1) { return -Infinity; } let maxValue = values.shift(); for (const value of values) { if (value > maxValue) { maxValue = value; } } return maxValue; }
You can use this function to find the maximum bigint value like so:
// ES10+ console.log(max(1000n, 400n, 754n, 394n)); // 1000n console.log(max(18014398509481982n, 33314398509441982n, 44545434534212n)); // 33314398509441982n console.log(max(-18014398509481982n, -33314398509441982n, 44545434534212n)); // 44545434534212n // ...
The "n
" at the end of a number merely suggests that the number is a bigint primitive.
With this function, you may mix numbers and bigints (because a number value and a bigint value can be compared as usual):
// ES10+ console.log(max(1000000n, 1024, 2124, 18014398509481982n, -394n)); // 18014398509481982n // ...
You may also use this function to find the maximum value in a list of numbers:
console.log(max(456, 333, 231, -321, -110, 0, 44)); // 456 // ...
This post was published by Daniyal Hamid. Daniyal currently works as the Head of Engineering in Germany and has 20+ years of experience in software engineering, design and marketing. Please show your love and support by sharing this post.