首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript按整型字段对对象排序

Javascript按整型字段对对象排序
EN

Stack Overflow用户
提问于 2019-09-26 03:23:03
回答 1查看 342关注 0票数 0

我有一个对象数组,其中一个字段是整数值,我想使用它的字段进行排序。

例如:

代码语言:javascript
复制
var myArray = {
    { name: "Robert", age: 47 },
    { name: "Carl", age: 22 },
    { name: "Ronaldo", age: 15 }
};

myArray.sort(function(a, b){ a.age - b.age });

实际程序运行24小时,每分钟对数组进行排序,有时它会正确排序(无需更改代码),有时(大多数情况下)它会执行看似随机排序的操作。

期望的输出将是:

代码语言:javascript
复制
myArray = {
{ name: "Ronaldo", age: 15 },
{ name: "Carl", age: 22 },
{ name: "Robert", age: 47 }
}

但每次我运行代码时,它都会给出不同的命令,因为它根本没有排序。

实数组有0-3000个条目,每个对象都有很多属性。我不知道这是否与数组的大小或数据结构有关。

已经到处搜索了,每个人都告诉传递一个自定义的JS函数来对数组进行排序。这个函数会与“I”进行比较,或者减去它们,但我找不到任何人在谈论这个。

我试着把a.ageb.age打包成parseInt()

代码语言:javascript
复制
myArray = myArray.sort(function(a, b){a.age - b.age});
EN

回答 1

Stack Overflow用户

发布于 2019-09-26 03:30:03

你需要从你的函数返回值。

代码语言:javascript
复制
myArray.sort(function(a, b){ return a.age - b.age });

代码语言:javascript
复制
const myArray = [{
    name: "Ronaldo",
    age: 15
  },
  {
    name: "Carl",
    age: 22
  },
  {
    name: "Robert",
    age: 47
  }
];

const sortedArray = myArray.sort(function(a, b) {
  return a.age - b.age
});

console.log(sortedArray);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58105269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档