Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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
Typescript:比较两个对象数组中的ID值_Typescript - Fatal编程技术网

Typescript:比较两个对象数组中的ID值

Typescript:比较两个对象数组中的ID值,typescript,Typescript,所以,我有两个不同的对象数组,一个对象是{id:…},另一个对象是{getID:…,setID}。如果我想过滤对象一,只返回存在于第二个对象getID而不是setID中的id,那么什么是好的解决方案 我目前的黑客行为基本上是: forEach(object in OBJECT1) { OBJECT2.filter(x => { return (x.setID.length === 0 && x.getID === object.id); }) }

所以,我有两个不同的对象数组,一个对象是{id:…},另一个对象是{getID:…,setID}。如果我想过滤对象一,只返回存在于第二个对象getID而不是setID中的id,那么什么是好的解决方案

我目前的黑客行为基本上是:

forEach(object in OBJECT1) {
    OBJECT2.filter(x => {
      return (x.setID.length === 0 && x.getID === object.id);
    })
}

可能是这样的:

function isOk(obj: any, id: string): boolean {
    return (!obj.setID || obj.setID.length === 0) && id === obj.getID;
}

let ids = OBJECT1.filter(item1 => OBJECT2.some(item2 => isOk(item2, item1.id)));