2015-10-14 121 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; 
       } 
      }); 
    });