我有一个多级 JS 对象。我需要在指定位置的特定节点中插入其他节点(数组或对象)。
尝试了以下方法
obj[0] = {'key':'value'};
obj["position"] = {'key':'value'};
对我没有任何作用。
这是我的对象:
var obj = {
'id' : '1',
'text' : 'post',
'fill' : 'transparent',
'img': 'assets/images/post-ico.png',
'image' : 'test',
'type' : 'component',
'url' : 'test.com',
'key': 'F',
'fields' :
[{'name' : 'remote_address',
'value' : '127.0.0.1',
'group': 'F',
'text' : 'Request',
'fields' :
[{'name' : 'remote_address',
'value' : '127.0.0.1',
'text' : 'Body',},
{'name' : 'remote_address',
'value' : '127.0.0.1',
'text' : 'Headers'
}
]
},
{'name' : 'remote_address',
'group': 'F',
'value' : '127.0.0.1',
'text' : 'Response',
'fields' :
[{'name' : 'remote_address',
'value' : '127.0.0.1',
'text' : 'Headers',
},
{'name' : 'remote_address',
'value' : '127.0.0.1',
'text' : 'Body',
'fields':[]
}
]
}
],
};
这就是我要添加到 fields:[]
属性中的对象数据
{'name' : 'remote_address',
'value' : '127.0.0.1',
'text' : 'Headers',
}
我能够将数据作为节点添加到对象,但它不在我想要的位置。
帮我在指定位置插入日期
我希望数据作为最后一个 fields:[]
属性的值,并且我希望它在那些方括号内
最佳答案
您需要导航对象
var obj = { 'id': '1', 'text': 'post', 'fill': 'transparent', 'img': 'assets/images/post-ico.png', 'image': 'test', 'type': 'component', 'url': 'test.com', 'key': 'F', 'fields': [{ 'name': 'remote_address', 'value': '127.0.0.1', 'group': 'F', 'text': 'Request', 'fields': [{ 'name': 'remote_address', 'value': '127.0.0.1', 'text': 'Body', }, { 'name': 'remote_address', 'value': '127.0.0.1', 'text': 'Headers' } ] }, { 'name': 'remote_address', 'group': 'F', 'value': '127.0.0.1', 'text': 'Response', 'fields': [{ 'name': 'remote_address', 'value': '127.0.0.1', 'text': 'Headers', }, { 'name': 'remote_address', 'value': '127.0.0.1', 'text': 'Body', 'fields': [] } ] } ],};
obj.fields[1].fields[1].fields.push({'name' : 'remote_address',
'value' : '127.0.0.1',
'text' : 'Headers',
})
console.log(obj.fields[1].fields[1].fields)
关于javascript - 在 JavaScript 对象的特定位置访问和添加节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58623263/