如何按两个属性对 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/