我将数组复制到临时变量tempPropertyValuesArray
然后当我清除原始数组$scope.advancedSearch.businessCard.propertyValues
它还清除了tempPropertyValuesArray
我很惊讶。这是预期的行为吗?
使用Javascript:
var tempPropertyValuesArray = $scope.advancedSearch.businessCard.propertyValues;
$log.debug("tempPropertyValuesArray 1 : " +tempPropertyValuesArray);
$scope.advancedSearch.businessCard.propertyValues.length = 0;
$log.debug("tempPropertyValuesArray 2 : " +tempPropertyValuesArray);
日志:
tempPropertyValuesArray 1 : [object Object],[object Object]
tempPropertyValuesArray 2 :
答案 0 :(得分:4)
在Javascript中,我将数组复制到临时变量tempPropertyValuesArray
你没有复制它,你为它做了一个引用。更改参考,更改原始对象。
如果您真的想要副本,请执行以下操作:
var tempPropertyValuesArray
= $scope.advancedSearch.businessCard.propertyValues.slice();