Поскольку язык сценариев JavaScript возобновляет объект

У меня есть переменная, которая сохраняет объект

var gData = {};

класс, чтобы создавать объект

class Automate{
  constructor(){
    this.nodes = [];
    this.links = [];
    }
}

instancio и я верю в новый объект

var automateObject = new Automate();

и в конце концов я распределяю объект в переменную

gData = automateObject;

Поскольку я могу делать возможным, что в какой-то точке удалять всю информацию, которая содержит объект gData, и вводить новые данные

Я попробовал использовать функцию "Delete" javascript, например

delete gData.nodes
delete gData.links

Но в конце концов он не удаляет свойство, но он продолжает добавлять в момент добавления ново данных

   function parseContent(content) {
delete gData.nodes;
delete gData.links;
        var lines = content.split("\n");
        //Creation de l'automate
        var automateObject;
        //Parcourir tout le fichier
        for (var i = 0; i < lines.length; i++) {
          //Pour creer l'onbjet automate
            if(lines[i].length > 1){
              if(i == 0){
                var currentline = lines[i].split("\n");
                currentline = lines[i].replace(/[\(\)]/g, '');  
                currentline = currentline.replace(/,/g, '');   
                currentline = currentline.split(" ");
                automateObject = new Automate();
                const eta1 = new Etat(parseInt(currentline[1]),'RED');
                ets.push(eta1);
              } else {
                //variable pour stocker le titre et la couleur
                var label;
                //variable pour couper chaque ligne du fichier
                var currentline = lines[i].split("\n");
                  //Enlever les parenthese de la chaine de characters
                  currentline = lines[i].replace(/[\(\)]/g, '');
                  //Enlever les citations de la chaine
                  currentline = currentline.replace(/['"]+/g, '');
                  //Couper la chaine en 3 morceaux
                  currentline = currentline.split(",",3);
                  //Couper le deuxieme atribut pour obtenir le nom de lien et la couleur
                  label = currentline[1].split(":");
                  //Creation d'un object de type automate
                  const tran = new Transition(parseInt(currentline[0]),label[0],label[1],parseInt(currentline[2]));
                  //Ajouter l'object dans l'array
                  trans.push(tran);
                  validateEtat(parseInt(currentline[0]));
                  validateEtat(parseInt(currentline[2]));
              }
            }
        }
    automateObject.nodes = ets; 
    automateObject.links = trans;
    gData = automateObject;
    console.log(gData);
    }
5
задан 16.09.2019, 23:25
0 ответов