【发布时间】:2013-07-07 15:00:24
【问题描述】:
我正在尝试对有时具有Infinity 或NaN 的数组进行排序。当我使用标准 JavaScript array.sort() 时,它似乎会排序直到达到 NaN,然后我会得到随机结果。
var array =[.02,.2,-.2,Nan,Infinity,20];
有没有办法仍然对此进行排序,以便最终结果从负到正,并且最后仍然有 NaN 或 Infinity。
-.2,.02,.2,20,NaN,Infinity
【问题讨论】:
-
你能给我们举个数组的例子吗?
-
调整函数中的逻辑来处理 NaN 的特殊情况会起作用吗?某种 if(isNaN(a)) { return positive } // 所以它总是在一端
-
@loosebazooka 的评论是问题的答案
-
糟糕,我忘记了一个数字排序...修正了答案。
-
@loosebazooka,但为了排序,NaN 应该等于 NaN(即使在 JS 中是
NaN !== NaN)
标签: javascript arrays sorting nan