我的Array =
的示例[{
name: leon,
id: 1
}, {
name: laura
id: 20003
}, {
name: anne
id: 45
}]
目前在UI中,数组将如下所示:
如何使用lodash按字母顺序按name
键对数组进行排序?
答案 0 :(得分:1)
_.sortBy(myObjects, 'name');
名称是此处的排序键
答案 1 :(得分:1)
你不需要lodash这样做......
只做
var sortedNames = names.sort(function(a, b) {
return a.name.localeCompare(b.name);
});
或者将其包装在像以下的函数中:
function sortBy(obj, key) {
return obj.sort(function(a, b) {
return a[key].localeCompare(b[key]);
});
}
答案 2 :(得分:1)
您可以使用正确的回调。
var array = [{ name: 'leon', id: 1}, { name: 'laura', id: 20003}, { name: 'anne', id: 45}];
array.sort(function (a, b) {
return a.name.localeCompare(b.name);
});
console.log(array);
答案 3 :(得分:0)
不确定loadash但您可以使用简单的sort方法对json对象数组进行排序
var arry=[{
name: 'leon',
id: 1
}, {
name: 'laura',
id: 20003
}, {
name: 'anne',
id: 45
}]
var sorted = arry.sort(function(a,b){
return a.name > b.name ? 1:-1
})
// this part just for demo
sorted.forEach(function(item){
document.write('<pre>'+item.name+'</pre>')
})