javascript - 有没有办法根据键将对象附加到现有的对象数组中
问题描述
我有一个如下所示的 json 对象,
let existing_data = [
{
"client":[
{
"name":"aaaa",
"filter":{
"name":"123456"
}
}
]
},
{
"server":[
{
"name":"qqqqq",
"filter":{
"name":"984567"
}
}
]
},
{
"server_2":[
{
"name":"Testing_2",
"filter":{
"name":"567845"
}
}
]
}
]
这将是动态的,截至目前刚刚给出了示例对象。如果我填写表单输入,将得到如下所示的对象,
let input_data = {
"client":[
{
"name":"aaaa",
"filter":{
"name":"123456"
}
}
]
}
我需要将此对象附加到现有的“客户端”json 对象中。预期的输出会像,
[
{
"client":[
{
"name":"aaaa",
"filter":{
"name":"123456"
}
},
{
"name":"bbbb",
"filter":{
"name":"456789"
}
}
]
},
{
"server":[
{
"name":"qqqqq",
"filter":{
"name":"984567"
}
}
]
},
{
"server_2":[
{
"name":"Testing_2",
"filter":{
"name":"567845"
}
}
]
}
]
我尝试了以下方法,但它没有按预期工作。一些帮助将不胜感激。
像下面这样尝试但没有按预期工作,
existing_data.forEach(function (obj) {
if(Object.keys(obj) == 'client') {
let old_values = Object.values(obj['client']);
let new_values = {old_values,input_data['client']};
}
});
console.log(JSON.stringify(new_values));
解决方案
我不知道我是否理解。但是,正如您所说,您想输入一个对象,该对象已经在原始数组中的对象之中。客户端名称"aaaa"
已经在existing_data
json 中。是这样吗?
推荐阅读
- python - Python 脚本 - 无法使用 beautifulSoup 绕过登录页面
- c# - 收据在打印文档中有重叠文本
- listview - 更新了 Firestore 数据的 Flutter SliverAnimatedList
- java - 为什么 MySQL Connector/J DatabaseMetaData.supportsResultSetType 只支持 TYPE_SCROLL_INSENSITIVE?
- javascript - 从 React 更新 SQL
- python - 如何将 QuerySelectField 表单数据发送到单元测试中的 Flask 视图?
- r - Centos 6 上的 R 版本 4.0.0
- php - 使用 Select Option Codeigniter 显示数据库中的数据
- html - 使用引导程序 4 可调节行高
- ios - The z-index of SwiftUI View and UIKit View