gpt4 book ai didi

javascript - 不一致的 Javascript 排序

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:35:33 26 4
gpt4 key购买 nike

我被这个搞糊涂了。我在 Js 中做了很多排序,但出于某种原因,我的行为很奇怪。

x = [{ts: "2013-09-24 14:44:22"}, {ts: "2013-09-24 14:08:26"}, {ts: "2013-09-24 17:37:42"}].sort(function(a,b) {return a.ts < b.ts;});
console.log(x); // this is sorted

但是,当我使用更长的数组时,排序不起作用。只看第二类的前三个对象:

http://jsfiddle.net/HWx7p/

有什么想法吗?

最佳答案

您的比较器需要返回一个数字,而不是 bool 值。

如果小于则为负数,如果等于0,如果大于则为正数。

.sort(function(a,b) {
if(a.ts == b.ts) return 0;
return a.ts < b.ts ? -1 : 1;
});

http://jsfiddle.net/HWx7p/8/

关于javascript - 不一致的 Javascript 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19006983/

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