div"); var numOrderedDivs = $divs.sort(functio-6ren">
gpt4 book ai didi

javascript - 无法对数组进行排序

转载 作者:行者123 更新时间:2023-12-03 00:43:25 24 4
gpt4 key购买 nike

我正在尝试按文本对 jquery 对象数组进行排序。

var $divs = $("#"+menu +"> div");
var numOrderedDivs = $divs.sort(function (a, b) {
return $(a).text() > $(b).text();
});
$("#"+menu).html(numOrderedDivs);

但是我没有看到任何变化

enter image description here

enter image description here

最佳答案

尝试使用String.localeCompare按照您的排序:

var $divs = $("#"+menu +"> div");
var numOrderedDivs = $divs.sort(function (a, b) {
return $(a).text().localeComrate($(b).text());
});
$("#"+menu).html(numOrderedDivs);

它:

... returns a number indicating whether a reference string comes before or after or is the same as the given string in sort order

它还支持各种options进行比较非常方便。

还有Array.sort使用比较器函数,根据文档,其返回值应为整数:

function compare(a, b) {
if (a is less than b by some ordering criterion) {
return -1;
}
if (a is greater than b by the ordering criterion) {
return 1;
}
// a must be equal to b
return 0;
}

而不是像这里一样的 bool 值:return $(a)​​.text() > $(b).text();

localeCompare 在使用时会为您完成此操作。

关于javascript - 无法对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53345071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com