比较字符串和数组 - React

问题描述 投票:0回答:2
let category = "design" //This place is changing, like art, design, photo

let filtered = data.filter((item) => category === item.category_name)`

category 包含一个字符串。 item.category_name 是一个数组。

我要做的是过滤事件。但是一个项目可以有多个类别。

例如第3项的分类如下:

“类别名称”:[“设计”,“艺术”],

当类别变量是艺术或设计时,如何让第三项被选中?

我如何比较数组和字符串

reactjs arrays string compare
2个回答
0
投票

您可以使用 include 方法,它适用于字符串和数组。

let filtered = data.filter((item) => item.category_name.includes(category))

所以

"design".includes("design")
["design", "art"].includes("design")
都会返回 true

但是,为了保持一致性,最好将 item.categoryName 转换为数组。一个类别的项目可以有一个只有一个项目的数组。


0
投票

您可以使用“some”方法遍历数组并在满足条件时立即返回 true:

let filtered = data.filter((item) => item.category_name.some((subItem) => subItem === category));
© www.soinside.com 2019 - 2024. All rights reserved.