我有一个服务对象,我需要将它的日志附加到ServiceLogEntries.ID等于ServiceID的地方。如何将元素添加到JavaScript对象?
var Services = {
"result": [
{
"ID": 150779,
"ServiceRenderedID": 1,
"ServiceTypeName": "Health Risk Assessment",
"PackageID": 13
},
{
"ID": 150778,
"ServiceRenderedID": 1,
"ServiceTypeName": "Health Risk Assessment",
"PackageID": 13
}
]
};
var ServiceLogEntries = {
"ServiceLogEntries": [
{
"LogID": 229500.0,
"LogStamp": "2015-12-08T18:29:16.137",
"LogServerUser": "Webuser",
"LogActionType": "I",
"ID": 150779
},
{
"LogID": 229501.0,
"LogStamp": "2015-12-08T18:30:07.32",
"LogServerUser": "Webuser",
"LogActionType": "U",
"ID": 150779
},
{
"LogID": 229500.0,
"LogStamp": "2015-12-08T18:29:16.137",
"LogServerUser": "Webuser",
"LogActionType": "I",
"ID": 150778
},
{
"LogID": 229501.0,
"LogStamp": "2015-12-08T18:30:07.32",
"LogServerUser": "Webuser",
"LogActionType": "U",
"ID": 150778
}
]
};
结果应该看起来像下面的代码,其中元素“ServiceLogEntires”是通过附加相应的项目创建的。
var Service = {
"result": [
{
"ID": 150779,
"ServiceRenderedID": 1,
"ServiceTypeName": "Health Risk Assessment",
"PackageID": 13
},
{
"ID": 150778,
"ServiceRenderedID": 1,
"ServiceTypeName": "Health Risk Assessment",
"PackageID": 13,
"ServiceLogEntries": [
{
"LogID": 229500.0,
"LogStamp": "2015-12-08T18:29:16.137",
"LogServerUser": "Webuser",
"LogActionType": "I",
"ID": 150778
},
{
"LogID": 229501.0,
"LogStamp": "2015-12-08T18:30:07.32",
"LogServerUser": "Webuser",
"LogActionType": "U",
"ID": 150778
}
]
}
]
我开始通过这是很容易做到的对象循环,但我需要得到整个元素"ServiceLogEntries": [{...}]
。
for (var i = 0; i < Service.result.length; i++) {
var parent = Service.result[i];
for (var a = 0; a < ServiceLogEntries.ServiceLogEntries.length; a++) {
var child = ServiceLogEntries.ServiceLogEntries[a];
if (child.ID === parent.ID) {
parent.push(child);
}
}
}
和WH结果你会得到什么?你知道jsfiddle吗? – helle
https://jsfiddle.net/t3twxgfs/ –