所以我正在阅读一些函数式编程,其中有一个:
const max = xs => reduce((acc, x) => (x >= acc ? x : acc), -Infinity, xs);你能在这里解释一下-Infinity的确切角色吗?
发布于 2018-06-15 05:06:36
它很可能是为了模仿Math.max的行为,后者在没有参数的情况下调用时返回-infinity:
console.log(Math.max());
类似地,对于max函数,使用空数组调用的max将导致-infinity
const max = xs => xs.reduce((acc, x) => (x >= acc ? x : acc), -Infinity, xs);
console.log(max([]));
尽管如此,它在大多数情况下并不那么有用,它可能只是为了在空数组上调用常规的、可预测的输出(比如抛出错误,或者返回0或null)。
https://stackoverflow.com/questions/50869359
复制相似问题