微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

目前正在练习我的 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 举报,一经查实,本站将立刻删除。