What's the Math.max() Alternative for BigInt Values in JavaScript?

Find out how to determine the maximum value in a list of bigint values

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
// ...

Hope you found this post useful. It was published . Please show your love and support by sharing this post.