2017-06-22 143 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

相关问题