无法理解我想要重构的函数所需的逻辑

问题描述

目前正在练习我的 JavaScript,我正在努力理解我需要适应的函数的逻辑。该程序背后的想法是将用户输入转换为 JSON。

目前我的程序可以按如下方式编写JSON:

  {
    "Name": "Jane","Surname": "Doe"
  }

“姓氏:Doe”插入了我正在尝试重构的功能


addNewParent: function () {
      let infoBoxOne = this.$refs.inputKey.value;
      let infoBoxTwo = this.$refs.inputValue.value;

      //map over the array and set value equal to value
       const new_array = this.objects.map(x => x)

       const last = Object.keys(new_array)[Object.keys(new_array).length-1];
       console.log(last)

      const temp = this.objects.flatMap((obj,index) => {
        if (index === last.length - 1) {
        return { ...obj,[infoBoxOne]: infoBoxTwo };
        }
       return obj;
     });
        this.objects = temp;
     
      document.getElementById("inputKey").value = "";
      document.getElementById("inputValue").value = "";
 
    },

这目前适用于任何不跟随孩子的“父母”:

[
  {
    "Name": "Jane","Surname": "Doe","Age": "45","gender": "female","eyecolor": "blue","haircolor": "red"
  }
]

然而,当我将一个子对象添加到对象中时会出现问题,我现在想要以相同的功能定位该子对象。

当前对象以“主要”对象为目标,并坚持一个键:值。 (如“FROM”下的代码片段所示..我需要它来找到最后一个对象 - 要么是孩子,要么插入 key:value 或(如果不存在孩子,则在主对象上)并插入 key:value-下面的代码片段:–

来自:


[
  {
    "Name": "Jane","haircolor": "red","address": {
      "lineone": "17 Summer Hill vue"
    },"city": "Some city"
  }
]

到:


[
  {
    "Name": "Jane","address": {
      "lineone": "17 Summer Hill vue","city": "Some city"
    }
  }
]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)