【问题标题】:Find an item which meets the criteria javaScript查找符合条件的项目 javaScript
【发布时间】:2022-11-27 18:12:25
【问题描述】:

我们有对象数组:

 let store =  [
        {
          id: 1,
          name: "store1",
          items: {
            pen: 0,
            apple: 1,
            chocolate: 0
          }
        },
        {
          id: 2,
          name: "store2",
          items: {
            pen: 0,
            apple: 0,
            chocolate: 0
          }
        },
        {
          id: 3,
          name: "store3",
          items: {
            pen: 0,
            apple: 1,
            chocolate: 1
          }
        },
      ]

标准是:[“苹果”,“巧克力”]。

我们必须找到 criteria.length > 0 的对象

这就是我尝试的方式

store.filter(store => criteria.forEach(i => store.items[i] > 0))

【问题讨论】:

  • 你的预期结果是什么?每个标准是否需要 > 0 或只是一个?

标签: javascript


【解决方案1】:

您可以通过检查所有条件进行过滤

result = stores.filter(store => 
    criteria.every(criterium => store.items[criterium] > 0)
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    相关资源
    最近更新 更多