如何将新数据追加到JSON对象指定键对应的数组中?
当然可以!这是实现方法
完全没问题,你可以轻松把返回数据里的元素追加到 myobj 的 Computer 数组中。下面是具体的JavaScript实现步骤:
首先,假设函数返回的数据我们存储在 newData 变量里:
const newData = {"Computer" : [{ "file" : "MyDirectory/A/text1.txt", "line": [3,6]}]};
然后,利用数组的 push 方法结合展开运算符(...),把新数据中的元素逐个追加到原数组中:
// 把newData.Computer里的所有元素追加到myobj.Computer数组末尾 myobj.Computer.push(...newData.Computer);
这行代码的作用是展开 newData.Computer 数组中的每一个对象,然后依次添加到 myobj.Computer 的末尾,正好符合你想要的结果。
执行完上面的代码后,myobj 就会变成你期望的样子:
{ "Computer" : [ { "file" : "MyDirectory/A/text1.txt", "line": [23,56]}, {"file" :"MyDirectory/B/text5.txt", "line" :[32,91]}, { "file" : "MyDirectory/A/text1.txt", "line": [3,6]} ], "Book" : {"file": "MyDirectory/A/text1.txt", "line": [13,46]} }
补充:另一种方式(创建新数组)
如果你不想直接修改原数组,而是生成一个新的对象,也可以用 concat 方法:
const updatedMyobj = { ...myobj, Computer: myobj.Computer.concat(newData.Computer) };
这种方式不会改变原 myobj,而是返回一个包含更新后数组的新对象,适合需要保留原数据的场景。
内容的提问来源于stack exchange,提问作者Taimoor Ali
相关产品推荐
相关产品推荐

