2017-06-22 224 views
-1

我在js中排序時遇到了問題。 我對象的數組看起來像這樣的:如何按對象值對對象數組進行排序?

var listArr = [ 
    { 'year': 2011, 'movie': 'Some movie' }, 
    { 'year': 1990, 'movie': 'Some movie' }, 
    { 'year': 2017, 'movie': 'Some movie' }, 
    { 'year': 2005, 'movie': 'Some movie' }, 
    { 'year': 1999, 'movie': 'Some movie' }, 
    { 'year': 2015, 'movie': 'Some movie' } 
]; 

如何這個數組逐年排序? 我想擺脫這樣的:

var listArr = [ 
    { 'year': 2017, 'movie': 'Some movie' }, 
    { 'year': 2015, 'movie': 'Some movie' }, 
    { 'year': 2011, 'movie': 'Some movie' }, 
    { 'year': 2005, 'movie': 'Some movie' }, 
    { 'year': 1999, 'movie': 'Some movie' }, 
    { 'year': 1990, 'movie': 'Some movie' } 
]; 
+0

使用方便的['sort'](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)方法?你可以傳入你自己的比較函數。 – evolutionxbox

+0

我不知道如何? –

+0

真的嗎?我只是鏈接了一篇文章,解釋它是如何工作的...... @ @ nina-scholz給了你另一個問題來尋找答案。 – evolutionxbox

回答

1

試試下面的代碼

listArr.sort(function (x, y) { 
    return y.year - x.year; 
}); 

希望這會幫助你。

+0

該問題已被標記爲重複。請不要張貼這些問題的答案。 – evolutionxbox

+0

@evolutionxbox這個問題被標記爲重複,而我發佈的答案。 – balachandar

+0

是的,我明白了。儘管在發佈之前它已被標記爲重複5分鐘。下次在回答之前檢查問題是否有重複。 – evolutionxbox

相關問題