gpt4 book ai didi

javascript - 从一个对象中删除属性就是从另一个具有相似名称的对象中删除该属性

转载 作者:行者123 更新时间:2023-12-03 11:33:41 25 4
gpt4 key购买 nike

我有两个对象。一个是主数据,另一个是类似的对象,但包含我正在使用的某些属性,并且是主数据的子集。请在下面找到两个对象:

$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。现在我明白比较这两个会创建相同的引用,这可以通过使用 then 来避免

试试这个

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

但即使代码没有执行,这种情况也会发生。对象之前是否已初始化?

最佳答案

使用这个:

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

而不是

$scope.masterDataForDisplay = $scope.masterData;

copy() :创建源的深拷贝,该副本应该是对象或数组。所以他们不共享相同的引用

关于javascript - 从一个对象中删除属性就是从另一个具有相似名称的对象中删除该属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26625129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com