gpt4 book ai didi

javascript - 在javascript中自定义响应排序

转载 作者:行者123 更新时间:2023-11-30 09:49:06 25 4
gpt4 key购买 nike

我从我的服务器得到以下响应:

[
{"key":{"name":"1","kind":"a"},
{"key":{"name":"1","kind":"ap"},
{"key":{"name":"5","kind":"ap"}
]

每次响应的顺序都不一样,因为服务器不保证顺序。因此,我需要在收到响应后像这样对响应进行排序:

首先排序,所以最小的 KIND 排在第一位,所以 'a' 应该排在 'b' 之前。然后我需要使用户名的名称在“a”中排在第一位。

var username = '5';

var response = [
{"key":{"name":"1","kind":"a"},
{"key":{"name":"1","kind":"ap"},
{"key":{"name":"5","kind":"ap"}
];

response = entities.sort(function (a, b) {
if (a.key.kind != b.key.kind){ return a.key.kind < b.key.kind}
else if(a.key.name == username){ return a.key.name < b.key.name }
else return a.key.name > b.key.name;
});

这是我用来排序的代码,但它不起作用。它对 KIND 进行了正确排序,但是当它需要按 NAME 排序时(用户名应该在其他名称之前)它不起作用。

我得到的实际结果是这样的:

[
{"key":{"name":"1","kind":"ap"},
{"key":{"name":"5","kind":"ap"},
{"key":{"name":"1","kind":"a"}
]

但是我想要的结果是这样的:

[
{"key":{"name":"5","kind":"ap"},
{"key":{"name":"1","kind":"ap"},
{"key":{"name":"1","kind":"a"}
]

如您所见,我的用户名等于 5,所以 {"key":{"name":"5","kind":"ap"} 应该在 之前{"key":{"name":"1","kind":"ap"} .

最佳答案

return a.key.name < b.key.name不是说 a < b.
他们实际上将被比较。
尝试将其替换为 return -1;对比较器说:

a is lesser than b in that case. 

关于javascript - 在javascript中自定义响应排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37380734/

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