2017-08-30 147 views
0

我當前有一個由嵌套鍵值對組成的數組對象(不確定這是否是準確的名稱)。我希望能夠通過嵌套對象內的值對它進行排序。通過對象內的嵌套值對數組對象排序 - Javascript

例如:

var ObjArray = [ 
    { id = 1, 
     info = { 
      number = 4, 
      name = "foo" 
     } 
    }, 
    { id = 4, 
     info = { 
      number = 12, 
      name = "bar" 
     } 
    }, 
    { id = 9, 
     info = { 
      number = 2, 
      name = "fizz" 
     } 
    } 
]; 

所以最好我可以排序基於「數量」屬性這個對象,並將得到的數組對象必須在信息中的數字值進行排序的子對象。

我發現了一個類似的問題(Sorting an object of nested objects in javascript (maybe using lodash?)),但沒有考慮另一層嵌套對象。

+0

你能舉一個例子來說明所需的輸出嗎? – Thijs

+1

@destoryer - 他們想根據'each_member.info.number'對'ObjArray'進行排序。他們不想對信息進行排序。 – Quentin

+0

@誠然昆廷說,這個問題討論了我發佈的問題鏈接類似的情況。不過謝謝。 – dreamkiller

回答

3

所需的排序功能是

ObjArray.sort((a,b) => a.info.number - b.info.number); 

這將對其進行排序升序

降序:

ObjArray.sort((a,b) => b.info.number - a.info.number); 

var ObjArray = [{ 
 
    id: 1, 
 
    info: { 
 
     number: 4, 
 
     name: "foo" 
 
    } 
 
    }, 
 
    { 
 
    id: 4, 
 
    info: { 
 
     number: 12, 
 
     name: "bar" 
 
    } 
 
    }, 
 
    { 
 
    id: 9, 
 
    info: { 
 
     number: 2, 
 
     name: "fizz" 
 
    } 
 
    } 
 
]; 
 

 
ObjArray.sort((a,b) => a.info.number - b.info.number); 
 

 
console.log(ObjArray);

相關問題