考虑案例排序

时间:2014-01-31 14:15:59

标签: jquery

我正在使用以下代码

    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,我该如何使代码工作?

1 个答案:

答案 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