我想通过"user"对象中的"name"对下面的数组进行排序
var myArr = [
{"id":1,"user":{"name":"allen","id":101}},
{"id":2,"user":{"name":"martin","id":102}}
]
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我有一个方法来排序对象数组,但我不能将它用于对象的数组
这是方法:
function dynamicSort(property) {
var sortOrder = 1;
if (property[0] === "-") {
sortOrder = -1;
property = property.substr(1);
}
return function (a, b) {
var result = (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;
return result * sortOrder;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我可以使用这个排序:
myArr.sort(dynamicSort("id"));
Run Code Online (Sandbox Code Playgroud)