gpt4 book ai didi

jquery - 按值对 JSON 进行排序

转载 作者:IT老高 更新时间:2023-10-28 12:44:20 25 4
gpt4 key购买 nike

我有一个非常简单的 JSON 对象,如下所示:

{
"people":[
{
"f_name":"john",
"l_name":"doe",
"sequence":"0",
"title":"president",
"url":"google.com",
"color":"333333"
},
{
"f_name":"michael",
"l_name":"goodyear",
"sequence":"0",
"title":"general manager",
"url":"google.com",
"color":"333333"
}
]
}

现在这是从我的服务器端代码返回的,我运行 jQuery.each 以形成必要的 html 并输出结果。

现在我正在做的是向包含我的排序信息的服务器发送 AJAX 调用......例如“标题 DESC”并重新运行 SQL 查询以返回新的结果集。但我想避免这种情况,并使用 jQuery 对生成的 JSON 进行排序,以防止往返服务器和多个数据库访问。

如何使用 jQuery 实现这一点?

最佳答案

jQuery 对排序不是特别有帮助,但这是一个优雅而高效的解决方案。只需编写一个简单的 JS 函数,它接受属性名称和顺序(升序或降序)并使用简单的比较函数调用 native sort() 方法:

var people = [
{
"f_name": "john",
"l_name": "doe",
"sequence": "0",
"title" : "president",
"url" : "google.com",
"color" : "333333",
}
// etc
];

function sortResults(prop, asc) {
people.sort(function(a, b) {
if (asc) {
return (a[prop] > b[prop]) ? 1 : ((a[prop] < b[prop]) ? -1 : 0);
} else {
return (b[prop] > a[prop]) ? 1 : ((b[prop] < a[prop]) ? -1 : 0);
}
});
renderResults();
}

然后:

sortResults('l_name', true);

使用一个工作示例 here .

关于jquery - 按值对 JSON 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/881510/

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