2015-10-14 106 views
0

之間的替代對象,我有以下2個陣列$scope.oldArray & $scope.newArrayAngularJS - 比較 - 2個陣列

$scope.oldArray = [{ 
    "status": "New", 
    "priority_summary": "High", 
    "u_id" : 1 
}, { 
    "status": "New", 
    "priority_summary": "High", 
    "u_id" : 2 
}, { 
    "status": "New", 
    "priority_summary": "High", 
    "u_id" : 3 
}, { 
    "status": "New", 
    "priority_summary": "High", 
    "u_id" : 4 
}]; 

$scope.newArray = [{ 
    "status": "Old", 
    "priority_summary": "Low", 
    "u_id" : 1 
}, { 
    "status": "Old", 
    "priority_summary": "High", 
    "u_id" : 2 
}, { 
    "status": "New", 
    "priority_summary": "Low", 
    "u_id" : 3 
}, { 
    "status": "New", 
    "priority_summary": "High", 
    "u_id" : 4 
}]; 

在這裏,我需要比較這兩個數組,然後刪除更改的對象$scope.oldArray &從添加更改的對象$scope.newArray$scope.oldArray

注意:不應將所有值從$scope.newArray更換爲$scope.oldArray

回答

1

陣列的要比較的對象可以使用angular.forEach

 angular.forEach(oldArray , function(value1, key1) { 
      angular.forEach(newArray , function(value2, key2) { 
       if (!(value1.status == value2.status&& 
        value1.priority_summary==value2.priority_summary 
        && value1.u_id==value2.u_id)) { 
        value1.status=value2.status; 
        value1.priority_summary=value2.priority_summary; 
        value1.u_id=value2.u_id; 
       } 
      }); 
    });