我在根据一组值过滤ojbects数组时遇到了一些麻烦:
这是要过滤的数组:
var items: Product[] = ... values
现在我声明一个我想要选择的产品数组:
var sel: Product[] = ... values
我必须应用过滤器的属性是 idProduct ,我该怎么办?
我需要这样的东西:
var query = items.filter(x => x.idProduct IN(来自sel数组的idProduct列表)
我该怎么做?
感谢支持
答案 0 :(得分:2)
您可以使用some
查找具有相同产品ID的sel
中的任何产品
items.filter(i=> sel.some(s=> s.idProduct == i.idProduct));
答案 1 :(得分:1)
根据其他答案,但使用Array.prototype.includes():
let query = items.filter(x => sel.map(y => y.idProduct).includes(x.idProduct));