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项的分类如下:
“类别名称”:[“设计”,“艺术”],
当类别变量是艺术或设计时,如何让第三项被选中?
我如何比较数组和字符串
您可以使用 include 方法,它适用于字符串和数组。
let filtered = data.filter((item) => item.category_name.includes(category))
所以
"design".includes("design")
和 ["design", "art"].includes("design")
都会返回 true
但是,为了保持一致性,最好将 item.categoryName 转换为数组。一个类别的项目可以有一个只有一个项目的数组。
您可以使用“some”方法遍历数组并在满足条件时立即返回 true:
let filtered = data.filter((item) => item.category_name.some((subItem) => subItem === category));