2017-05-27 91 views
1

我有類似這種格式的數據。使用下劃線對嵌套對象數組中的SortBy進行排序js

var data = [ 
     {id:1, 
     format:'txt', 
     array1:[ 
       {id:10, txt:3, Nm:A}, 
       {id:100, txt:2, Nm:B}, 
       {id:1000, txt:1, Nm:C} 
       ] 
     }, 
     {id:2, 
     format:'vidz', 
     array1:[ 
       {id:10,txt:5,Nm:X}, 
       {id:100,txt:9,Nm:Y}, 
       {id:1000,txt:6,Nm:Z} 
       ] 
     } 
     ] 

需要sortby 「TXT」 使用underscoreJs或任何

var data = [ 
      {id:1, 
      format:'txt', 
      array1:[ 
        {id:1000, txt:1, Nm:C}, 
        {id:100, txt:2, Nm:B}, 
        {id:10, txt:3, Nm:A} 
        ] 
      }, 
      {id:2, 
      format:'vidz', 
      array1:[ 
        {id:10,txt:5,Nm:X}, 
        {id:1000,txt:6,Nm:Z}, 
        {id:100,txt:9,Nm:Y} 

        ] 
      } 
      ] 

如何sortBy升序排列爲 「TXT」 陣列1的內部

+1

裏面有真的不同名稱的陣列? –

+0

這是一個示例格式@NinaScholz –

回答

1

你可以使用JavaScript方法普通的JavaScript的迭代該數組,然後採取內部數組進行排序。

var data = [{ id: 1, format: 'txt', array1: [{ id: 10, txt: 3, Nm: 'A' }, { id: 100, txt: 2, Nm: 'B' }, { id: 1000, txt: 1, Nm: 'C' }] }, { id: 2, format: 'vidz', array1: [{ id: 10, txt: 5, Nm: 'X' }, { id: 100, txt: 9, Nm: 'Y' }, { id: 1000, txt: 6, Nm: 'Z' }] }]; 
 

 
data.forEach(a => a.array1.sort((a, b) => a.txt - b.txt)); 
 

 
console.log(data);
.as-console-wrapper { max-height: 100% !important; top: 0; }