javascript - 如何在jquery中对json对象进行排序

标签 javascript jquery sorting

我有一个像这样的 JSON 对象:

{
    "resp" : [
        {
            "name" : "s"
        }, 
        {
            "name" : "c"
        }, 
        {
            "name" : "f"
        }
    ]
}

在这里,我想按字母顺序按 name 值对对象进行排序。
所以,它应该变成这个对象:

{
    "resp" : [
        {
            "name" : "c"
        }, 
        {
            "name" : "f"
        },
        {
            "name" : "s"
        }
    ]
}

我该如何实现?

最佳答案

您应该在 JSON 序列化之前对 JavaScript 对象内的数组进行排序。序列化的 JavaScript 对象只不过是一个字符串,因此不应进行排序。看看这个:

var obj = {
    rest: [
        { name: "s" },
        { name: "c" },
        { name: "f" }
    ]
};

function compare(a, b) {
    if (a.name< b.name)
        return -1;
    if (a.name > b.name)
        return 1;
    return 0;
}

obj.rest.sort(compare);

JSON.stringify(obj)

关于javascript - 如何在jquery中对json对象进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30839097/

相关文章:

javascript - 将 imagegrabscreen php 函数包含到按钮 onclick 中,无需刷新页面

java - 根据每个字符串的子字符串对 String ArrayList 的一半进行排序

javascript - 带标记映射到 png

javascript - 如何知道选择中是否有链接元素

javascript - 使用此压缩多次点击和提交功能

mysql - mysql中的日期排序

javascript - 如何对具有空值的数组进行排序

javascript - JS - 删除字符串之前/之后的所有字符(并保留该字符串)?

jQuery 验证自定义成功消息在重新检查时重复

javascript - 在 jQuery 上按元素内部的类选择项目