javascript - 如何按两个属性对json数据进行排序

标签 javascript arrays json sorting

http://jsfiddle.net/dy8w8r7d/

如何按两个属性对 JSON 数据进行排序? 下面的函数仅按Episode排序..

目标:按Episode升序排列,然后按Sequence升序排列

var data = [ { ArticleId: 2, Episode: 1, Type: 0, Sequence: 0 },
  { ArticleId: 1, Episode: 1, Type: 0, Sequence: 1 },
  { ArticleId: 3, Episode: 2, Type: 0, Sequence: 0 },
  { ArticleId: 4, Episode: 2, Type: 0, Sequence: 1 } ];

var data = [ { ArticleId: 2, Episode: 1, Type: 0, Sequence: 1 },
  { ArticleId: 1, Episode: 2, Type: 0, Sequence: 0 },
  { ArticleId: 3, Episode: 1, Type: 0, Sequence: 0 },
  { ArticleId: 4, Episode: 2, Type: 0, Sequence: 1 } ];


function compareEpisodeSequence(a,b) {
  if (a.Sequence < b.Sequence)
    return -1;
  if (a.Sequence > b.Sequence)
    return 1;
  return 0;
}
data.sort(compareEpisodeSequence);

console.log(data);

最佳答案

这应该做你想做的事:

function compareEpisodeSequence(a,b) {
  if (a.Episode < b.Episode) return -1;
  if (a.Episode > b.Episode) return 1;
  if (a.Sequence < b.Sequence) return -1;
  if (a.Sequence > b.Sequence) return 1;
  return 0;
}

如果剧集相等,则继续比较序列

关于javascript - 如何按两个属性对json数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34064827/

相关文章:

javascript - pug-根据变量中是否存在元素执行操作

java - 如何使用 java 和 json web 服务创建登录

php - 如何在一个字段中存储一个 Json 数据?

javascript - google+ api 人的 friend

javascript - React Leaflet - 在 map 中心对齐弹出窗口

c - 如何修复多字符常量警告

javascript - javascript中基于2个键值对的排序

JavaScript 对象或数组?这是什么?

javascript - 如何从一组中随机选择一个 div 并为其分配一个事件

Javascript 阻止单选按钮工作