当前位置: 首页 > 知识库问答 >
问题:

根据作为字符串值给出的数字键对对象数组排序[重复]

石臻
2023-03-14

我有一个带有键值对的数组,数组列是id和name。我想按ID对这个数组进行排序。

id列值的类型是字符串类型,但我想将它们排序为数字值,也应该在IE上工作

var items = [{
    "id": "165",
    "name": "a"
  },
  {
    "id": "236",
    "name": "c"
  },
  {
    "id": "376",
    "name": "b"
  },
  {
    "id": "253",
    "name": "f"
  },
  {
    "id": "235",
    "name": "e"
  },
  {
    "id": "24",
    "name": "d"
  },
  {
    "id": "26",
    "name": "d"
  }
];

console.log(items.sort((a, b) => Number(a.ID) - Number(b.ID)))

尽管顺序确实发生了变化,但它并没有像预期的那样发生变化,在IE中也会抛出一个错误。

共有1个答案

钦耀
2023-03-14

现在,您可以使用sort方法使用纯JS来完成此操作…

js lang-js prettyprint-override">var items = [
  {
    "id": "165",
    "name": "a"
  },
  {
    "id": "236",
    "name": "c"
  },
  {
    "id": "376",
    "name": "b"
  },
  {
    "id": "253",
    "name": "f"
  },
  {
    "id": "235",
    "name": "e"
  },
  {
    "id": "24",
    "name": "d"
  },
  {
    "id": "26",
    "name": "d"
  }
];

items.sort((a,b)=>+a.id>+b.id);
console.log(items);
 类似资料:
  • 我有一个带有键值对的an数组,数组列是id和Name。我想按ID对这个数组进行排序。 id列值的类型是string类型,但我希望将它们排序为数值。

  • 我有一个JavaScript对象数组: 如何在JavaScript中按照的值对它们进行排序? 我知道,但它似乎只适用于字符串和数字。是否需要向对象添加方法?

  • 问题内容: 我有一个JavaScript对象数组: 如何按JavaScript中的值对它们进行排序? 我知道,但这似乎只适用于字符串和数字。我是否需要向对象添加方法? 问题答案: 编写自己的比较函数很容易: 或内联(c / o Marco Demaio):

  • 问题内容: 我有一组字典,我想通过每个字典中的“ itemName”键按字母顺序对它们进行排序。如何在Swift中执行此操作? 我想对itemsArray进行排序。 问题答案: 您可以使用的功能: 迅捷 > 3 不是很迅速,但您失去了类型安全性,但这确实起作用。 顺便说一句,您的代码中有很多强制转换,有可能导致应用程序崩溃,您应该考虑改用可选的转换。

  • 本文向大家介绍javascript 对象数组根据对象object key的值排序,包括了javascript 对象数组根据对象object key的值排序的使用技巧和注意事项,需要的朋友参考一下 有个js对象数组 var ary=[{id:1,name:"b"},{id:2,name:"b"}] 需求是根据name 或者 id的值来排序,这里有个风骚的函数 函数定义: 使用: 以上就是本文的全部内

  • 我有两个字符串s1和s2,在该字符串中有金额,我需要根据存储在Arralists中的金额对整个字符串进行排序。在下面的代码中,s1的金额为1541.81,s2的金额为500.55,根据金额对字符串进行排序并存储在ArrayList中。