首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对有两个字段的对象进行排序?

如何对有两个字段的对象进行排序?
EN

Stack Overflow用户
提问于 2016-02-17 19:32:48
回答 2查看 45关注 0票数 1

I数据结构形状类似于

代码语言:javascript
复制
[{name:"kevin",major:1, minor:2}]

如果我希望对这些对象进行排序,那么我将如何对这些对象进行排序,使它们--专业是有序的,而未成年人是次要的呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-17 19:41:26

给你:

代码语言:javascript
复制
var myData = [{
  name: "kevin",
  major: 1,
  minor: 2
}, {
  name: "bob",
  major: 1,
  minor: 1
}, {
  name: "dave",
  major: 2,
  minor: 1
}, {
  name: "john",
  major: 2,
  minor: 2
}];

var mySort = function(a, b) {
  if (a.major == b.major) {
    return a.minor - b.minor;
  } else {
    return a.major - b.major;
  }
};


document.getElementById("results").innerHTML = JSON.stringify(myData.sort(mySort));
代码语言:javascript
复制
<div id="results"></div>

票数 0
EN

Stack Overflow用户

发布于 2016-02-17 19:41:33

只需定义一个排序回调。

代码语言:javascript
复制
var myData = [{ name: "kevin", major: 1, minor: 2 }, { name: "bob", major: 1, minor: 1 }, { name: "dave", major: 2, minor: 1 }, { name: "john", major: 2, minor: 2 }];
myData.sort(function (a, b) {
    return a.major - b.major || a.minor - b.minor;
});
document.write('<pre>' + JSON.stringify(myData, 0, 4) + '</pre>');

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

https://stackoverflow.com/questions/35466013

复制
相关文章

相似问题

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