在对象数组中查找数组中的元素

宾尼.H

我正在尝试返回包含搜索字段中的值(任何对象中的任何字母匹配)的对象。

我想返回对象数组中的数组匹配的对象。

例子:

如果

搜索 = '狗'

然后我想回来

[{姓名:杰克,姓氏:DK,标签:['有趣','狗','猫']}]

或者如果

search = 'a' return [{name: Jake, last: DK, tags: ['fun','dog','cat']},{name: John, last: Hop, tags: ['boring','捕鼠器']}]

我的尝试:

this.state = {
search = '',
arr = [{name: Jake, last: DK, tags: ['fun','dog','cat']},
       {name: John, last: Hop, tags: ['boring','mouse','trap']}]
}
//asuming the arr is stored in state
let filteredTag = this.state.arr.filter(obj => {
      if (obj.tags !== undefined) {
      return (
        obj.tags.filter(tag => {
          return tag.includes(this.state.search)
        })
      )
      }
    })

另外,我有

如果(obj.tags !== 未定义){

因为它是一个在单击按钮时出现的列表,并且在页面呈现时最初是未定义的。

anuragb26

过滤器的返回值应为真/假,具体取决于您是否需要特定元素。考虑到这一点,您需要进行以下更改。

let filteredTag = this.state.arr.filter(obj => {
  if (obj.tags !== undefined) {
  return (
    obj.tags.filter(tag => {
      return tag.includes(this.state.tagSearch)
    }).length > 0 // since if tag has any element matching,filtered tags length can be checked
  )
  }
  return false // since in undefined case,search condition is not met.
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在对象中查找数组元素

来自分类Dev

在对象数组中查找数据数组

来自分类Dev

在对象数组的数组中查找交集

来自分类Dev

在对象数组中查找重复元素

来自分类Dev

Mongoose 查询在对象数组中查找特定元素

来自分类Dev

ReactJS / JavaScript在对象中查找数组

来自分类Dev

在对象的JavaScript数组中查找属性

来自分类Dev

MongoDB在对象数组中查找

来自分类Dev

在对象数组中查找特定属性

来自分类Dev

在对象数组中查找坐标

来自分类Dev

在对象中查找数组值

来自分类Dev

在对象的嵌套数组中查找父对象。如何?

来自分类Dev

在对象的父数组中查找唯一的对象

来自分类Dev

在对象数组中查找对象的索引

来自分类Dev

创建查询以在对象数组中查找对象

来自分类Dev

查找数组中是否存在对象中的值

来自分类Dev

通过使用数组中的值在对象中查找键

来自分类Dev

Javascript-在对象数组中查找(不删除)具有重复属性的元素

来自分类Dev

如何在对象数组中查找值

来自分类Dev

在对象数组中查找属性的最大值

来自分类Dev

在对象数组中查找所有键

来自分类Dev

在对象数组中查找所有键

来自分类Dev

使用 nodejs 在对象数组中查找特定键值

来自分类Dev

通过 ReactJs 在对象数组中查找最大值

来自分类Dev

FirstIndex:of: 在对象数组中

来自分类Dev

如何通过嵌套在对象数组的属性中的对象属性的值在对象数组中查找多个索引?

来自分类Dev

在JavaScript中的对象数组中查找数组元素的索引?

来自分类Dev

Lodash在对象数组中的Map数组

来自分类Dev

从数组中查找元素