我正在使用以下代码
function asc(a, b) {
return ($(b).text()) < ($(a).text());
}
当我传递a,d,c,e,b时,我得到正确的值a,b,c,d,e
然而,当我通过a,d,C,e,b时,我得到C,a,b,d,e
如果使用不同的Case,我该如何使代码工作?
答案 0 :(得分:5)
如果您正在寻找不区分大小写的排序,最简单的方法是将双方转换为全高或全小写。
// Note: Not for Array#sort
function asc(a, b) {
return $(b).text().toLowerCase() < $(a).text().toLowerCase();
}
请注意,我认为你是不将其与Array#sort
一起使用,因为它没有做Array#sort
所期望的那样(返回{{1 }},0
或<0
)。
旁注:引用代码中>0
和()
周围的$(b).text()
无效,我已将其删除。
来自你的评论:
啊,现在那是不同的。这适用于如果我必须在示例中的'c'之后对'C'进行排序,我该怎么做?
$(a).text()
,你必须修改它以匹配你使用Array#sort
(我不知道在字符串匹配的情况下你期望做什么):{{3 }}
asc