【问题标题】:Angular2 - Filter Array of object where property is not in valuesAngular2 - 属性不在值中的对象的过滤器数组
【发布时间】:2018-09-28 19:55:21
【问题描述】:

我在根据一组值过滤对象数组时遇到了一些麻烦:

这是要过滤的数组:

var items: Product[] = ... values

现在我声明一个我要选择的产品数组:

var sel: Product[] = ... values

我必须应用过滤器的属性是 idProduct,我该怎么做?

我需要这样的东西:

var query = items.filter(x => x.idProduct IN (从 sel 数组中列出的 idProduct)

我该怎么做?

感谢支持

【问题讨论】:

    标签: angular typescript


    【解决方案1】:

    您可以使用some 查找sel 中具有相同产品ID 的任何产品

    items.filter(i=> sel.some(s=> s.idProduct == i.idProduct)); 
    

    【讨论】:

    • sel 从何而来?它是标准功能吗?
    • 我的理解是您已经有一个产品数组sel,并且您想使用它过滤另一个数组
    【解决方案2】:

    基于其他答案,但使用Array.prototype.includes():

    let query = items.filter(x => sel.map(y => y.idProduct).includes(x.idProduct));

    【讨论】:

      猜你喜欢
      • 2019-05-04
      • 1970-01-01
      • 2017-09-06
      • 2023-03-14
      • 1970-01-01
      • 2022-08-18
      • 1970-01-01
      • 2020-01-10
      • 2017-02-10
      相关资源
      最近更新 更多