gpt4 book ai didi

javascript - 这个Javascript多字段排序有什么问题吗?

转载 作者:行者123 更新时间:2023-12-02 16:00:35 25 4
gpt4 key购买 nike

This是我的代码:

<div class="item" data-count="1" data-title="C">1 C</div>
<div class="item" data-count="2" data-title="D">2 D</div>
<div class="item" data-count="2" data-title="A">2 A</div>
<div class="item" data-count="1" data-title="Z">1 Z</div>

$('.item').sort(function (x, y) {
var n = $(x).attr("data-count") - $(y).attr("data-count");
if (n != 0) {
return n;
}

return $(x).attr("data-title") - $(y).attr("data-title");
});

我想首先对 .item 进行排序,使 data-count 递减,然后对 data-title 升序。

即结果必须是:

2 A
2 D
1 C
1 Z

而是:

1 C
2 D
2 A
1 Z

这个排序函数哪里错了?

最佳答案

尝试使用此排序功能。它对我有用。

HTML。

<div class="testWrapper">
<div class="item" data-count="1" data-title="C">1 C</div>
<div class="item" data-count="2" data-title="D">2 D</div>
<div class="item" data-count="2" data-title="A">2 A</div>
<div class="item" data-count="1" data-title="Z">1 Z</div>
</div>

Javascript。

var $wrapper = $('.testWrapper');

$wrapper.find('.item').sort(function (a, b) {
return +b.getAttribute('data-count') - +a.getAttribute('data-count') || a.getAttribute('data-title') > b.getAttribute('data-title');
})
.appendTo( $wrapper );

检查我的示例。 https://jsfiddle.net/88k8kbsz/

关于javascript - 这个Javascript多字段排序有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31243431/

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