当前位置: 首页 > 面试题库 >

在javascript中对json对象进行排序

毋城
2023-03-14
问题内容

例如具有以下代码:

var json = {
    "user1" : {
        "id" : 3
    },
    "user2" : {
        "id" : 6
    },
    "user3" : {
        "id" : 1
    }
}

我如何排序此json这样-

var json = {
    "user3" : {
        "id" : 1
    },
    "user1" : {
        "id" : 3
    },
    "user2" : {
        "id" : 6
    }
}

我用ID对用户进行了排序。.
我不知道如何在javascript中执行此操作。


问题答案:

首先,这 不是 JSON。这是一个JavaScript对象文字。JSON是数据的 字符串表示 形式,它恰好非常类似于JavaScript语法。

其次,您有一个对象。他们没有排序。不能保证元素的顺序。如果要保证顺序,则 需要 使用数组。这将需要您更改数据结构。

一种选择是使数据看起来像这样:

var json = [{
    "name": "user1",
    "id": 3
}, {
    "name": "user2",
    "id": 6
}, {
    "name": "user3",
    "id": 1
}];

现在您有了一个对象数组,我们可以对其进行排序。

json.sort(function(a, b){
    return a.id - b.id;
});

结果数组将如下所示:

[{
    "name": "user3",
    "id" : 1
}, {
    "name": "user1",
    "id" : 3
}, {
    "name": "user2",
    "id" : 6
}];


 类似资料:
  • 问题内容: 我已经寻找了一段时间,想要一种对JSON对象进行排序的方法,如下所示: 并按字母顺序按值“ COMMERCIALNAME_E”得到: 我找不到任何可以做到这一点的代码。谁能给我些帮助? 问题答案: 将这些JSON解析为“对象集合”,然后使用比较器通过您喜欢的字段对其进行排序。 使用GSON将其解析为对象集合 例: 如果要从Object创建JSON。

  • 问题内容: 我需要通过PHP脚本中的“得分”值对此类信息进行排序,该怎么办?: PS:这已经在PHP值中,我已经使用了json_decode。* 问题答案: 当这个样子的: 您可以用来对数组进行排序: 输出:

  • 问题内容: 我一直在寻找排序这样的JSON对象的时间 按字母顺序按“ COMMERCIALNAME_E”的值获取 我找不到任何可以做到这一点的代码。谁能给我些帮助吗? 问题答案: 更新:请勿更改

  • 问题内容: 如果我有一个JavaScript对象,例如: 有没有一种方法可以基于值对属性进行排序?这样我最终 问题答案: 将它们移动到一个数组,对该数组进行排序,然后将其用于您的目的。这是一个解决方案: 拥有数组后,您可以按自己喜欢的顺序从数组中重建对象,从而完全实现了您打算要做的事情。在我所知道的所有浏览器中都可以使用,但这取决于实现的怪癖,并且可能随时中断。您永远不应假设JavaScript对

  • 问题内容: 我正在使用以下映射: 文件范例: 我的问题是如何检索此文档并按“日期”对嵌套对象“注释”进行排序?结果: 问题答案: 您需要在inner_hits上对进行排序。这将为您提供所需的输出 我使用的源过滤得到的只有作为将被检索里面,但你能避免,如果你想 是5,因为默认值为3,并且在给定的示例中我们有4个对象。 希望这可以帮助!

  • 我试图写一个函数来排序一个对象集合。由于对象都是相同的类型(相同的用户定义类),因此它们的属性集是相同的。是否有可能(通过代码)发现对象的属性,以便将集合放在一个二维数组中,每行代表一个对象,每列代表它的一个属性? 另一种解决方案是将集合中的每个对象复制到对象数组中,并根据它们的一个属性对它们进行排序,该属性的名称作为字符串传递给函数。但是我不知道如何使用作为字符串传递的属性名来指向对象的属性。