2016-02-09 3 views
0

Это моя аранжировка:Сортировка аранжировка вложенной подрешетки

var arr = [ 
    { 
     "name": "ASD", 
     "properties": [ 
      { 
       "name": "TypeId", 
       "nominalValue": "AC101" 
      }, 
      { 
       "name": "Description", 
       "nominalValue": "text here" 
      } 
     ] 
    }, 
    { 
     "name": "EWQ", 
     "properties": [ 
      { 
       "name": "TypeId", 
       "nominalValue": "AB123" 
      }, 
      { 
       "name": "Description", 
       "nominalValue": "text here" 
      } 
     ] 
    } 
] 

Я хочу, чтобы отсортировать его по дать в свойствах а name обр и возвращает его отсортирован по nominalValue

Как это:

var sortedArr = sortListByPropertyName(arr, 'TypeId'); //Sorts list by 'AB123', 'AC101'.. 

Мой набор данных довольно большой, поэтому важно сделать это максимально оптимизированным. Могу ли я использовать _.sortBy с некоторыми умными chains?

ответ

0

Вы можете попробовать это:

function sortListByPropertyName(arr, propName) { 
    return _.sortBy(arr, function(obj) { 
    return 
    _.find(obj.properties, function(prop) { 
     return prop.name == propName 
    }).nominalValue; 
    }); 
} 
Смежные вопросы