2016-02-07 2 views
-2

Например, у меня есть этот массив:Сортировка массива объектов по значению одного объекта

array = [ 
    {id : 0, name : "alex"}, 
    {id : 2, name : "mark"}, 
    {id : 1, name : "sarah"} 
] 

Я хочу, чтобы отсортировать этот массив в порядке в зависимости от значения id.

+0

Можете ли вы показать нам, что вы пробовали? – Rajesh

+2

Возможный дубликат [Сортировка массива объектов по значению свойства строки в JavaScript] (http://stackoverflow.com/questions/1129216/sort-array-of-objects-by-string-property-value-in-javascript) – Rajesh

+0

Я уже проверил этот пост, и он не тот. – Kunok

ответ

2

Вы можете использовать функцию sort, чтобы отсортировать массив.

Примечание: Ваш массив неправильно, он должен быть {id : 0, name : "alex"} .Это должно быть colon(:), но не equal(=)

array = [ 
      {id : 0, name : "alex"}, 
      {id : 2, name : "mark"}, 
      {id : 1, name : "sarah"} 
     ] 
     var sortedArray =array.sort(function(a,b){ 
     return a.id-b.id; // for ascending order 

     }); 
     console.log(sortedArray) 

JSFIDDLE

Документация: sort .`

+0

Да, извините, я не был осторожен, когда писал вопрос, теперь я исправил его. Можете ли вы предоставить ссылку на документацию для метода 'sort', чтобы люди могли проверять поддержку браузера и другую информацию, когда они ищут решение своей проблемы? – Kunok

1

Что-то подобное? , вы можете использовать функцию .sort()

var array = [ 
 
    {id : 0, name : "alex"}, 
 
    {id : 2, name : "mark"}, 
 
    {id : 1, name : "sarah"} 
 
] 
 

 
var sortedArray = array.sort(function(obj, obj2){ 
 
    return obj.id - obj2.id 
 
}); 
 

 
document.write("<pre>" + JSON.stringify(sortedArray,1,1) + "</pre>");

Смежные вопросы