Преобразование круговой структуры в JSON в JSON.stringify () - PullRequest
0 голосов
/ 11 сентября 2018

У меня проблема при клонировании объектов.У меня есть массив стратегий, в который я пытаюсь добавить стратегические объекты. Он работает несколько раз, когда появляются ошибки со следующим сообщением об ошибке.Может ли кто-нибудь сказать мне, в чем может быть проблема.Объект стратегии состоит из объектов объектов.В методе 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();
  }

1 Ответ

0 голосов
/ 11 сентября 2018

Круговая структура - это структура, которая ссылается на себя как на значение.JSON.stringify не поддерживает такие структуры, так как это приведет к бесконечно длинной строке.

Вам нужна функция глубокого клонирования, которая не использует JSON.stringify.Такую реализацию можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...