我正在制作一个JavaScript游戏,但是(不是基于浏览器的),但是我使用的引擎有一个错误,当您退出游戏时,它会删除存储的数组。因此,为了通过,我想将数组存储为变量,然后在加载游戏时将其转换回数组。

目前,我的游戏只有1个数组。
有人建议使用此代码,但无法正常运行,因为当我运行脚本以在不同的行上打印数组的每个元素时,它会在第一行上打印第一个元素,然后在第二行上打印其余的像这样的代码:element1,element2,element3
这是该人建议的代码:


  该代码在每次更新阵列时运行。
  在这里,数组是“ questsActive”,存储的变量是“ questsActiveVar”。

  questsActiveVar = questsActive.toString();
  questsActiveVar = questsActiveVar.replace(",", "\",\"");
  questsActiveVar = "questsActive=new Array(\"".concat(questsActiveVar,"\")");

  
  只要游戏加载,它就会运行;它重新创建了
  已删除

  eval(questsActiveVar);

最佳答案

您仅用替换调用替换第一项。

尝试这个:

questsActiveVar = questsActiveVar.replace(/,/g, "\",\"");

10-06 09:38