所以,我有两个不同的对象数组,一个对象是{id:...}另一个对象是{getID:...,setID},如果我想过滤掉对象一,只返回存在于的对象第二个对象是getID但不是setID什么是一个好的解决方案?
我目前的黑客基本上是:
forEach(object in OBJECT1) {
OBJECT2.filter(x => {
return (x.setID.length === 0 && x.getID === object.id);
})
}
答案 0 :(得分:0)
这样的事情可能是:
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)));