Javascript 如何在angular 5中比较一个对象值与另一个对象值
我已经编写了使用EventSource获取服务器发送事件的代码,其中包含以下代码。在下面的代码中,我有两个对象,一个是tasksRes,另一个是tasks1 案例1:所以在这两个对象中,我必须检查一个id和另一个id。如果id与第一个对象匹配,那么我必须在模板中用第二个对象id重写第一个对象id 案例2:如果对象中没有id,那么我必须绑定列表第一个中与id相关的json数据Javascript 如何在angular 5中比较一个对象值与另一个对象值,javascript,angular,typescript,eventsource,Javascript,Angular,Typescript,Eventsource,我已经编写了使用EventSource获取服务器发送事件的代码,其中包含以下代码。在下面的代码中,我有两个对象,一个是tasksRes,另一个是tasks1 案例1:所以在这两个对象中,我必须检查一个id和另一个id。如果id与第一个对象匹配,那么我必须在模板中用第二个对象id重写第一个对象id 案例2:如果对象中没有id,那么我必须绑定列表第一个中与id相关的json数据 tasks(){ this.handler.activateLoader(); this.tasksService.get
tasks(){
this.handler.activateLoader();
this.tasksService.get(this.page,this.pageSize).subscribe(results=>{
this.handler.hideLoader();
if(this.handler.handle(results)){
返回;
}
this.tasksRes=结果['data'];
this.length=结果['totalElements'];
},错误=>{
this.handler.hideLoader();
this.handler.error(error);
});
}
//获取自动更新的推送任务数据
getPushData(){
let source=new EventSource(this.url,{withCredentials:true});
source.onopen=函数(e){
log('连接已建立..');
};
source.addEventListener('message',(e)=>{
//让event=JSON.parse(message.data);
让data[]=JSON.parse(e.data);
设data1=data[1];
this.tasks1=data1['data'];
console.log(this.tasks1);
});
source.addEventListener('欢迎',(e)=>{
log('欢迎事件数据:',e.data);
});
source.onerror=函数(e){
console.log('EventSource失败');
};
}
模板代码:
-
-
{{task.eventType}
{{task.createdDate | timeAgo}}{{{task.status}
这是我从tasksRes获得的json数据
{
createdBy:null,
createdDate:"2018-08-20T14:04:27.802+0000",
entityId:"8a8082fb6542fa5f0165475f7d3d2205",
entityType:"Project",
eventType:"Sync",
id:"8a80822c6551bd59016557a6b51a722a",
inactive:false,
link:"/app/projects/8a8082fb6542fa5f0165475f7d3d2205/test-suites",
modifiedBy:null,
modifiedDate:"2018-08-20T14:04:27.802+0000",
name:"chat window",
status: "Done"
}
这是我从tasks1对象获得的json数据
{
"id": "8a80822c6551bd59016557a60746708e",
"createdBy": null,
"createdDate": 1534773823302,
"modifiedBy": null,
"modifiedDate": 1534773823302,
"version": null,
"inactive": false,
"eventType": "Sync",
"entityType": "Project",
"status": "In_progress",
"entityId": "8a8082f664a949ca0164abae16575b6d",
"name": "Testing ww",
"taskId": "5sJl84TOR2umd3eZ",
"link": "/app/projects/8a8082f664a949ca0164abae16575b6d/test-suites",
"user": null,
"org": {
"id": "8a8082e164a7aa410164a7e19bf201f3",
"createdBy": null,
"createdDate": null,
"modifiedBy": null,
"modifiedDate": null,
"version": null,
"inactive": false,
"name": "Labs_UI"
}
}
所以我想将这两个对象与其id进行比较,如果找到了,则需要使用tasks1和taskRes进行修改。那么如何做到这一点呢?有什么想法吗?提供了extend()
,我想这正是您想要的
let tasks1 = // some object
let taskRes = // some object
if (task1.id == taskRes.id) _.extend(tasks1, taskRes) // update tasks1 with the values from matching keys in taskRes