打字稿:比较两个对象数组中的ID值

时间:2017-01-10 18:00:49

标签: typescript

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

我目前的黑客基本上是:

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

1 个答案:

答案 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)));