簡體   English   中英

如何按每個對象內特定鍵的alpha對Array排序?

[英]How to sort Array by alpha of a specific key inside each object?

我的數組示例

[{
    name: leon,
    id: 1
}, {
    name: laura
    id: 20003
}, {
    name: anne
    id: 45
}]

當前在用戶界面中,數組如下所示:

  • 里昂
  • 勞拉
  • 安妮

如何使用lodash通過name鍵按字母順序對數組進行排序?

_.sortBy(myObjects, 'name');

名稱是此處的排序鍵

您不需要lodash來做...

做就是了

var sortedNames = names.sort(function(a, b) {
  return a.name.localeCompare(b.name);
});

jsFiddle: https ://jsfiddle.net/p07c4oaa/

或將其包裝在類似以下的函數中:

function sortBy(obj, key) {
  return obj.sort(function(a, b) {
    return a[key].localeCompare(b[key]);
  });
}

jsFiddle: https ://jsfiddle.net/p07c4oaa/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); 

不確定是否有loadash,但是您可以使用簡單的排序方法對對象的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>')

})

JSFIDDLE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM