Javascriptの場合:Math.maxとMath.minはBigIntタイプでは機能しません。
例えば:
> Math.max(1n, 2n)
Thrown:
TypeError: Cannot convert a BigInt value to a number
at Math.max (<anonymous>)
>
BigIntsでこれらの操作を実行する組み込み関数はありますか?
どうですか
const bigIntMax = (...args) => args.reduce((m, e) => e > m ? e : m);
const bigIntMin = (...args) => args.reduce((m, e) => e < m ? e : m);
また、両方が必要な場合
const bigIntMinAndMax = (...args) => {
return args.reduce(([min,max], e) => {
return [
e < min ? e : min,
e > max ? e : max,
];
}, [args[0], args[0]]);
};
const [min, max] = bigIntMinAndMax(
BigInt(40),
BigInt(50),
BigInt(30),
BigInt(10),
BigInt(20),
);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加