Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 考虑案例的排序_Jquery - Fatal编程技术网

Jquery 考虑案例的排序

Jquery 考虑案例的排序,jquery,Jquery,我正在使用以下代码 function asc(a, b) { return ($(b).text()) < ($(a).text()); } 功能asc(a、b){ 返回($(b).text())

我正在使用以下代码

    function asc(a, b) {
        return ($(b).text()) < ($(a).text());
    }
功能asc(a、b){
返回($(b).text())<($(a).text());
}
当我通过a,d,c,e,b时,我得到正确的值a,b,c,d,e

然而,当我通过a,d,C,e,b时,我得到C,a,b,d,e


当使用不同的大小写时,如何使代码正常工作?

如果要查找不区分大小写的排序,最简单的方法是将两侧都转换为大写或小写

// Note: Not for Array#sort
function asc(a, b) {
    return $(b).text().toLowerCase() < $(a).text().toLowerCase();
}

如果要查找不区分大小写的排序,最简单的方法是将两侧都转换为大写或小写

// Note: Not for Array#sort
function asc(a, b) {
    return $(b).text().toLowerCase() < $(a).text().toLowerCase();
}

看一看ASCII表,这将为您提供一些关于为什么会发生这种情况的线索。在比较之前,您可以通过将值小写(或大写)来“纠正”行为……不清楚您是否在寻找不区分大小写的排序,是否希望大写变量位于小写变量之后,或者反之亦然。请查看ASCII表,这应该会为您提供一些有关发生这种情况的原因的线索。在比较之前,您可以通过降低(或提高)值的大小写来“纠正”行为……不清楚您是否在寻找不区分大小写的排序,是否希望大写变量位于小写变量之后,或者反之亦然。谢谢您的快速回答。如果有人使用非英语字母,我应该使用toLocaleLowerCase()而不是toLowerCase()?不清楚他是想要
a、a、a、b、b、c、c
还是
a、a、a、b、b、c、c
可以接受。@TomHodder:我添加了一个使用
数组排序的版本。您必须对其进行修改,以适应当前函数的使用,因为
asc
不符合
Array#sort
的要求。@Tomhoder的意思是,传递给
Array.sort
的回调函数需要返回
0、1或-1
。0表示元素保持在原来的位置。1表示增加位置,-1表示减少阵列中的位置。但是,您的
asc()
函数返回了一个布尔值,该值将被隐式转换为
0
1
,并且永远不会
-1
@TomHodder请查看Mozilla开发者网络上的文档:感谢您的快速回答。如果有人使用非英语字母,我应该使用toLocaleLowerCase()而不是toLowerCase()?不清楚他是想要
a、a、a、b、b、c、c
还是
a、a、a、b、b、c、c
可以接受。@TomHodder:我添加了一个使用
数组排序的版本。您必须对其进行修改,以适应当前函数的使用,因为
asc
不符合
Array#sort
的要求。@Tomhoder的意思是,传递给
Array.sort
的回调函数需要返回
0、1或-1
。0表示元素保持在原来的位置。1表示增加位置,-1表示减少阵列中的位置。但是,您的
asc()
函数返回了一个布尔值,该值将隐式转换为
0
1
,并且永远不会
-1
@TomHodder请参阅Mozilla开发者网络上的文档: