2015-12-03 130 views
0

http://jsfiddle.net/dy8w8r7d/如何通過兩個屬性對json數據進行排序

如何通過兩個屬性對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);

+0

只需進行兩次排序。首先按順序排序,然後按照情節排序。 – Archer

回答

1

這shouls做你想要什麼:

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; 
} 

如果情節相同,則繼續比較序列

+0

謝謝它的作品! – user1575921

+1

很高興幫助!請檢查答案是否正確! – Vi100

相關問題