这是我的先生:
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"
}
]
}
]
我想通过在属性arr中给出name
来对其进行排序,然后按nominalValue
像这样:
var sortedArr = sortListByPropertyName(arr, 'TypeId'); //Sorts list by 'AB123', 'AC101'..
我的数据集非常大,所以尽可能优化它是很重要的。我可以使用_.sortBy
和一些聪明的chains
吗?
答案 0 :(得分:0)
你可以试试这个:
function sortListByPropertyName(arr, propName) {
return _.sortBy(arr, function(obj) {
return
_.find(obj.properties, function(prop) {
return prop.name == propName
}).nominalValue;
});
}