2017-01-23 64 views
0

我的JSON对象如下:排序在JSON对象

$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}] } 
]; 

我想排序数量的数据列表中angularJS的基础上。

+0

你试图使用排序依据? –

+0

您也可以使用过滤器。 –

+0

Plunker链路如下:http://plnkr.co/edit/UX7pVhBlQrFK874E86Af?p=preview –

回答

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; 
 
});