2017-01-23 1 views
0

Mein JSON-Objekt ist wie folgt:Sortierung auf JSON-Objekt

$scope.data = [{ 
id: "146", 
name: "Sachin", 
dataList: [{maunalEntityName: "Temperature", quantity: 15}, 
      {maunalEntityName1: "Air", quantity: 25}] }, 
      { 
id: "147", 
name: "Rahul", 
dataList: [{maunalEntityName: "Water", quantity: 27}, 
      {maunalEntityName1: "Temperature", quantity: 14}] } 
      { 
id: "148", 
name: "Sourav", 
dataList: [{maunalEntityName: "Air", quantity: 20, 
      {maunalEntityName1: "Water", quantity: 8}] } 
]; 

ich in AngularJS auf der Grundlage der Menge in Datalist sortieren möchten.

+0

haben Sie versucht orderBy mit? –

+0

Sie können die Filter auch dafür verwenden. –

+0

Plunker Verbindung ist wie folgt: http://plnkr.co/edit/UX7pVhBlQrFK874E86Af?p=preview –

Antwort

0

If you want to sort items in $scope.data based on the sum of all quantity in the dataList array: 
 

 
$scope.data = $scope.data.sort(function(it1, it2) { 
 

 
var it1QuantitySum = 0; 
 
var it2QuantitySum = 0; 
 

 
it1.dataList.forEach(function(data) { 
 
\t it1QuantitySum = it1QuantitySum + data.quantity; 
 
}); \t 
 

 
it2.dataList.forEach(function(data) { 
 
\t it2QuantitySum = it2QuantitySum + data.quantity; 
 
}); \t 
 
return it1QuantitySum < it2QuantitySum; 
 
}); 
 

Verwandte Themen