【问题标题】:filter through array values inside object过滤对象内的数组值
【发布时间】:2021-11-10 16:59:45
【问题描述】:

我有一个如下的对象数组,我想获取 badgeoutreach 字样的整个对象。我试图过滤和查找,但它只给了我数组中的一个单词,而不是完整的对象。请帮我解决这个问题,谢谢。

carData: [
  {
    flowName: "Cars",
    badge: ["content", "outreach"],
    image: icons.car,
  },
  {
    flowName: "linkedin",
    badge: ["content"],
    image: icons.linkedin,
  },
  {
    flowName: "facebook",
    badge: ["content"],
    image: icons.facebook,
  },
]

这是我尝试过的:

console.log(state.carData.map(({badge}) => (badge.filter(i => i==="outreach"))).find(badge=>badge.length>0));

它给出了结果['outreach']

【问题讨论】:

  • 你能显示你尝试的过滤器吗?
  • 是的,这里是:
  • console.log(state.carData.map(({badge}) => (badge.filter(i => i==="outreach"))).find(badge=>badge .length>0));
  • 它提供了 ['outreach']

标签: javascript arrays reactjs object ecmascript-6


【解决方案1】:

const carData = [{
    flowName: "Cars",
    badge: ["content", "outreach"],
    image: "icons.car",
  },
  {
    flowName: "linkedin",
    badge: ["content"],
    image: "icons.linkedin",
  },
  {
    flowName: "facebook",
    badge: ["content"],
    image: "icons.facebook",
  },
]

console.log(carData.filter(car => car.badge.includes("outreach")))

【讨论】:

    【解决方案2】:

    试试这个

    carData.filter((car) => {
      car.badge.includes("outreach")
    })
    

    【讨论】:

      【解决方案3】:
      carData.filter(x=>x.badge.includes("outreach"))
      

      【讨论】:

      • 谢谢,它对我有用....我是新来的堆栈溢出,所以我不能标记它。顺便说一句谢谢
      猜你喜欢
      • 2022-11-27
      • 1970-01-01
      • 1970-01-01
      • 2020-10-21
      • 1970-01-01
      • 1970-01-01
      • 2020-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多