Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在angular 5中比较一个对象值与另一个对象值_Javascript_Angular_Typescript_Eventsource - Fatal编程技术网

Javascript 如何在angular 5中比较一个对象值与另一个对象值

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

我已经编写了使用EventSource获取服务器发送事件的代码,其中包含以下代码。在下面的代码中,我有两个对象,一个是tasksRes,另一个是tasks1

案例1:所以在这两个对象中,我必须检查一个id和另一个id。如果id与第一个对象匹配,那么我必须在模板中用第二个对象id重写第一个对象id

案例2:如果对象中没有id,那么我必须绑定列表第一个中与id相关的json数据

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