gpt4 book ai didi

javascript - 过滤子数组对象

转载 作者:行者123 更新时间:2023-11-30 19:57:23 25 4
gpt4 key购买 nike

我想过滤react-nativeFlatList中的数据,

我有几个过滤器,

第一个是简单的单词,第二个过滤器(独立于前一个)标签列表(数组)。

数据

Array [
Object {
"ID": 1,
"name": "Name 1",
"tags": Array [
Object {
"ID": 1,
"name": "tag 1",
},
Object {
"ID": 2,
"name": "tag 2",
},
],
},
Object {
"ID": 2,
"name": "Name 2",
"tags": Array [
Object {
"ID": 1,
"name": "tag 1",
},
],
},
]

React Native 组件

searchedText = "string" 效果很好 & selectedTags = [] 像键 tags 描述以上

<FlatList
data={
filterType === null ? items
: filterType === "text" ? items.filter(item => item.name.includes(searchedText))
: filterType === "tags" ? items.filter(item => item.tags.includes(selectedTags))
: null
}
keyExtractor={( item ) => item.ID.toString() }
renderItem={ ({ item }) => <AnotherComponent item={ item }/> }
/>

我不知道如何深入工作,你有过滤所选标签的解决方案吗?

喜欢:

items.filter(item => item.tags.includes([{name:"tag1"},{name:"tag2"}]))

最佳答案

你可以这样做:

items.filter(item => item.tags
.some(tag => selectedTags
.map(selectedTag => selectedTag.name)
.includes(tag.name)));

关于javascript - 过滤子数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53816510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com