You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据指定数组值过滤含嵌套tags数组的对象数组?

按多标签过滤对象数组(需匹配所有指定标签)

需求说明

给定一个包含嵌套标签数组的对象数组,需要过滤出同时包含指定所有标签的对象——只有当对象的tags数组包含activeTags中的每一项时,才保留该对象。

原始数据

const data = [
  {
    "id":"Nerium",
    "tags":["CMS Selection", "Experience Design", "Development","UX"],
    "featured":0
  },
  {
    "id":"WesternDigital",
    "tags":["Digital Strategy", "Analytics", "Example"],
    "featured":1
  },
  {
    "id":"Example",
    "tags":["Example", "Analytics", "UX"],
    "featured": 0
  }
];

过滤条件

const activeTags = ['UX', 'Example'];

解决方案代码

const filteredData = data.filter(item => {
  return activeTags.every(tag => item.tags.includes(tag));
});

console.log(filteredData);

代码逻辑说明

  • 使用filter()方法遍历原始数组,筛选符合条件的对象
  • 借助every()方法判断:activeTags中的每一个标签,是否都存在当前对象的tags数组里(includes()用于检查单个标签是否存在)
  • 只有当所有标签都匹配时,every()返回true,当前对象才会被保留到结果数组中

预期输出

[{
  "id": "Example",
  "tags": ["Example", "Analytics", "UX"],
  "featured": 0
}]

内容的提问来源于stack exchange,提问作者Mat Mol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 00:24:31