卡死原因: 每粘贴一次 for循环 一次 就会呈现几何的增加 每个字段部分字母出现重复的
解决方案: 我再写个 循环 他每增加 重复的字段 我就重复的给删了
// 循环列表进行计算
CyclicCalculation() {
let projectCostAnalysSumTableDataTemp = JSON.parse(
JSON.stringify(this.projectCostAnalysSumTableData)
);
for (let key in this.projectCostAnalysSumTableData) {
let fieldString: any = "";
if (key.includes("ContractIncome")) {
fieldString = key.replace("ContractIncome", "");
} else if (key.includes("TargetCost")) {
fieldString = key.replace("TargetCost", "");
} else {
fieldString = key.replace("ActualCost", "");
}
// contractVisaTargetCost - contractVisaActualCost
this.projectCostAnalysSumTableData[`${fieldString}TargetCostSave`] = Number(
(
this.projectCostAnalysSumTableData[`${fieldString}TargetCost`] -
this.projectCostAnalysSumTableData[`${fieldString}ActualCost`]
).toFixed(2)
);
...............................省略计算逻辑.........................
..........................................................
}
// 以下为解决方案
for (let key in this.projectCostAnalysSumTableData) {
let err: boolean = true;
let keysArray = Object.keys(projectCostAnalysSumTableDataTemp);
if (!keysArray.includes(key)) {
delete this.projectCostAnalysSumTableData[key];
}
}
}