Typescript:比较两个对象数组中的ID值
所以,我有两个不同的对象数组,一个对象是{id:…},另一个对象是{getID:…,setID}。如果我想过滤对象一,只返回存在于第二个对象getID而不是setID中的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); }) }
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)));