JSON.stringifyを使うとオブジェクトが空になる問題を解決

3日前まで正常に変換されてたのが、不思議なことにJSON.stringifyでサイズの大きい連想配列が空になってしまい、しばらく悩んでたところ、新規に作った連想配列にコピーしてそれを使えば解決しました。
ここで教えて頂きました。

< コード例 >



    // == 省略 == //

    let envmap = {"######": {}}
    let newObj = {};

    if (key !== "" && val !== "") {
      envmap = this.readLSMap()   // ローカルストレージから読込
      delete envmap["######"]
      
      
      envmap[key] = val
      console.log(envmap)   // <=== ???? [] 

      // 空になるので別の連想配列を生成して追加 //
      Object.keys(envmap).forEach(function (key) {
        newObj[key] = envmap[key];
      });

      console.log(JSON.stringify(newObj))    // 空でなくなる

      // == 省略 == //

コメントを残す