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

如何筛选出属性数组与指定数组存在匹配项的对象数组元素?

错误原因

你的原有写法colors.includes(articles.filters)是将整个filters数组作为参数传给includes方法,而colors数组的元素都是单个字符串,永远不可能匹配到数组类型的参数,所以返回结果永远为false,无法筛选出符合条件的对象。

正确实现代码

const result = articles.filter(article => 
  // 判断当前对象的filters数组是否存在至少一个属于colors数组的元素
  article.filters.some(item => colors.includes(item))
)

逻辑说明

  • 外层filter方法遍历articles数组的所有对象,返回所有符合匹配条件的对象组成的新数组
  • 内层some方法遍历当前对象的filters属性数组,只要有任意一个元素满足colors.includes(item)的条件就返回true,对应的对象就会被保留到最终结果中
  • 额外提醒:你给出的articles示例代码中name的字符串取值没有加引号,属于语法错误,实际使用时要修正为name: 'Peters'这类合法格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 17:06:03