问题描述
目前正在练习我的 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 (将#修改为@)