我在克隆对象时遇到问题。我有一个策略数组,我正在尝试向其中添加策略对象。它有时会起作用,但会出现以下错误消息。有人可以告诉我可能是什么问题吗? 策略对象由对象的对象组成。在 Add 方法中,我尝试将元素零的策略添加到策略数组中。
export interface Strategy {
domicile: Domicile;
captiveAssumption: StrategyCaptiveAssumption;
modelingAssumptions: StrategyModelingAssumption;
selectedLinesOfBusiness: SelectedLineOfBusinessInput[];
accountRules: StrategySpecialAccountRules;
minCapitalContribution: StrategyMinCapitalContribution;
results: Results;
}
将循环结构转换为 JSON 在 JSON.stringify()
add() {
if (!this.showAddStrategy) {
return;
}
const strategy: Strategy = JSON.parse(JSON.stringify(this.strategies[0]));
this.strategies.push(this.strategies[0]);
this.save.emit();
this._expandLastStrategy();
}
最佳答案
循环结构是一种将自身引用为值的结构。 JSON.stringify
不支持此类结构,因为它会导致无限长的字符串。
您需要的是一个不使用JSON.stringify
的深度克隆函数。这样的实现可以参见here .
关于json - 在 JSON.stringify () 处将循环结构转换为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52266334/