我想在更新self.lineDetails
时停止更新self.modifiedLineDetails
。
self.modifiedLineDetails = [];
angular.forEach(self.lineDetails, function (value1, index1) {
var lineDetail = self.lineDetails[index1];
self.modifiedLineDetails.push(lineDetail)
});
console.log(self.lineDetails)
angular.forEach(self.modifiedLineDetails, function (value10, index10) {
var modifiedLineDetail = self.modifiedLineDetails[index10];
if (modifiedLineDetail.SelectedCustomers.length > 0) {
modifiedLineDetail.SelectedCustomers = 1;
} else {
modifiedLineDetail.SelectedCustomers = 0
}
});
console.log(self.modifiedLineDetails)
以前,我只是像这样self.modifiedLineDetails = self.lineDetails
分配了它,然后更新了self.modifiedLineDetails
,但是它没有用,所以我尝试按行推送它,但是self.lineDetails
不断更新。
答案 0 :(得分:0)
您应该克隆一个数组,然后修改新数组,一种方法是使用
传播操作...
这里是例子:
var initialarray = [1,2,3,4];
var modification = [...initialarray];
modification.push(5);
console.log(initialarray);
console.log(modification);
答案 1 :(得分:0)
由于该问题似乎是由于我在使用angular
而引起的。我研究发现angular.copy
会创建一个deep copy。下面的代码对我有用。
self.modifiedLineDetails = angular.copy(self.lineDetails);