【发布时间】:2021-05-15 19:42:26
【问题描述】:
我有来自js-combinatorics 的这个排列函数,我想配置它
const _BI = typeof BigInt == 'function' ? BigInt : Number;
const _crop = (n) => n <= Number.MAX_SAFE_INTEGER ? Number(n) : _BI(n);
function permutation(n, k) {
if (n < 0)
throw new RangeError(`negative n is not acceptable`);
if (k < 0)
throw new RangeError(`negative k is not acceptable`);
if (0 == k)
return 1;
if (n < k)
return 0;
[n, k] = [_BI(n), _BI(k)];
let p = _BI(1);
while (k--)
p *= n--;
return _crop(p);
}
ts 给我 p *= n--;
Operator '*=' cannot be applied to types 'number | bigint' and 'number'.
我该如何解决这个错误?
【问题讨论】:
标签: typescript types