使用 Math.min.apply 时如何跳过 NaN?

Ton*_*ich 0 javascript

要获得数字数组中的最小数字,我使用以下命令:

var smallestNumber = Math.min.apply(null, arrayOfNumbers.map(function(x) { return x; }));
Run Code Online (Sandbox Code Playgroud)

但如果其中一个数字是 NaN,smallestNumber 返回 NaN。max 运算符也会发生同样的事情。(我可能有 Infinity,但我不确定它是否会被退回)

如何跳过所有 NaN 并返回最小的数字?

Poi*_*nty 5

过滤掉NaN条目:

var smallest = Math.min.apply(null, arrayOfNumbers.filter(function(n) { return !isNaN(n); }));
Run Code Online (Sandbox Code Playgroud)