2014-10-29 197 views
0

我有兩個對象。一個是主數據,另一個是類似的對象,但包含我正在使用的某些屬性,並且是主數據的子集。請找出兩個對象如下:從對象中刪除屬性是從具有相似名稱的另一個對象中刪除屬性

$scope.masterData = { 

"StoresForOrgs": { 
    "PPP0001188": ["007071","007073","007079"], 
    "PPP0001189": ["007075","0070756","0070789"], 
    "PPP0001190": ["007075","0070756","0070789", "00707893", "00707899"] 
    } 
} 

$scope.masterDataForDisplay = { 

    "StoresForOrgsDisplay": { 


     } 
} 

如果我的代碼做

$scope.masterDataForDisplay = $scope.masterData; 

這是連接兩個對象,如果我改變masterDataForDisplay它正在改變masterData爲好。現在我明白了比較這兩個會產生相同的參考,這可以通過使用再

避免試試這個

$scope.masterDataForDisplay = JSON.parse(JSON.stringify($scope.masterData)); 

,但即使不執行的代碼發生這種情況。對象是否被初始化?

回答

1

使用這樣的:

$scope.masterDataForDisplay = angular.copy($scope.masterData); 

代替

$scope.masterDataForDisplay = $scope.masterData; 

拷貝():創建源的深層副本,這應該是一個對象或一個數組。所以他們不分享相同的參考

相關問題