javascript - 在 JavaScript 中对 JSON 进行排序

标签 javascript json sorting

我有以下形式的 JSON 对象

[
    {
        "Var1": "text1",
        "var2": "text2",
        "var3": "text3",
        "Saving": "integer1"
    },
    {
        "Var1": "text11",
        "var2": "text22",
        "var3": "text33",
        "Saving": "integer2"
    },
    {
        "Var1": "text111",
        "var2": "text222",
        "var3": "text333",
        "Saving": "text"
    }
]

JSON 的“保存”变量包含文本和整数。我想对 JSON 进行排序,以便使用最大整数值保存是最前面的文本。 我正在使用 JavaScript

最佳答案

[
    {
        "Var1": "text1",
        "var2": "text2",
        "var3": "text3",
        "Saving": "a7"
    },
    {
        "Var1": "text11",
        "var2": "text22",
        "var3": "text33",
        "Saving": 2
    },
    {
        "Var1": "text111",
        "var2": "text222",
        "var3": "text333",
        "Saving": "n3"
    }
].sort(function(a,b){
    var aNum = parseInt(a.Saving, 10);
    var bNum = parseInt(b.Saving, 10);
    if(isNaN(aNum) && isNaN(bNum)){
        return a.Saving > b.Saving;
    }
    if(isNaN(aNum)){
     return true;
    }
    if(isNaN(bNum)){
        return false;
    }
    return aNum > bNum;
});

JSBIN

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

相关文章:

javascript - django ajax请求获取选定的索引

php - 对数组进行排序并显示其对应者

Javascript 对索引链接数组进行排序

algorithm - 如何找到在 O(1) 空间和 O(n) 时间成本(有界元素大小)的未排序列表中出现 k 次的元素

javascript - clearInterval 不适用于句柄

c# - 如何在脚本标签中找到定义根目录

java - Jersey REST 客户端 - 将自定义 MediaType 视为 MediaType.APPLICATION_JSON

java - 在不使用 POJO 的情况下使用 GSON 修改 json

javascript - 如何不给函数添加延迟

javascript - 使用 jQuery 和 Javascript 的多个 API 调用架构