【问题标题】:Checking if an array of objects contains value without looping? [duplicate]检查对象数组是否包含值而不循环? [复制]
【发布时间】:2020-02-21 21:49:57
【问题描述】:

现在我有一个看起来像这样的数组

    const array = [
    {
      value: 'received',
      title: 'Hjá Birgja',
    },
    {
      value: 'pending',
      title: 'Yfirstandandi',
    },
    {
      value: 'processing',
      title: 'Í vinnslu',
    },
  ]

我希望它返回 true

if(array.includes('processing'){
  // do something
}

【问题讨论】:

  • 为什么不在某处创建一个循环函数然后调用它呢?这样您就不必每次都在代码中编写新循环——只需调用您的函数来打包该逻辑即可。
  • array.includes('processing'): 数组不包含processing,它是它包含的对象之一,您需要遍历对象并查找其中一个对象的值是否包含“处理"

标签: javascript arrays json object


【解决方案1】:

不完全是您想要的,因为我不确定您是否只想搜索值键,但这里有一个解决方案

if (array.find(i => i.value === 'processing')) {
  // do something
}

【讨论】:

  • 希望我可以做到这一点而不必循环但很好的解决方案。永远忘记 .find
  • 是的,至少这会停在它找到的第一件事上,而不是继续
猜你喜欢
  • 1970-01-01
  • 2020-06-07
  • 1970-01-01
  • 2023-04-05
  • 2011-04-02
  • 2020-08-09
  • 1970-01-01
  • 2019-08-24
  • 1970-01-01
相关资源
最近更新 更多