2016-11-03 3 views
-2

Это пример кода, но, похоже, он не сортирует массив. Все, что я хочу, это массив объекта, отсортированный таким образом, что сначала должен быть объект с максимальными ключами.Сортировка массива объектов На основе количества ключей содержит

CSVData.sort(function(item1,item2){ 
          return Object.keys(item2).length - Object.keys(item1); 
         }); 
+2

Вы забыли '.length' после' Object.keys (item1) '? – thefourtheye

+0

О защелка .. Спасибо за указание. Я царапал себе голову, пытаясь понять, что я сделал неправильно. – Pavan

+0

здесь вы находите разницу между номером item2 элемента item2 с item1. : P – Parthasarathy

ответ

4

Вы были близки

CSVData.sort(function(item1,item2){ 
    return Object.keys(item1).length - Object.keys(item2).length;//notice the length property here 
}); 

Также обратите внимание, что item1 находится перед item2, при условии, что вы хотите, чтобы отсортировать в порядке возрастания. В порядке убывания это будет

return Object.keys(item2).length - Object.keys(item1).length; 
+0

Спасибо Гурвиндер. На самом деле я забыл свойство длины. – Pavan

+0

И я должен сортировать его только в порядке убывания. – Pavan

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