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

如何使用Lodash过滤包含嵌套数组属性的对象集合?

解决Lodash查找包含指定兴趣的对象问题

嘿,我来帮你搞定这个问题!你之前的尝试没成功主要是两个原因:一是用_.find的话它只会返回第一个匹配的对象,而且你用['data.interests', 'dancing']这种键值对匹配的方式,是在严格判断data.interests这个数组是否完全等于'dancing'(一个字符串),这显然不成立;二是你用filter()的时候可能没写对判断条件。

正确的做法是结合_.filter和_.includes来实现:

// 获取所有data.interests包含'dancing'的完整对象
const matchingObjects = _.filter(home, (item) => {
  return _.includes(item.data.interests, 'dancing');
});

代码解释:

  • _.filter会遍历整个home数组,把所有符合条件的对象收集起来返回。
  • 回调函数里用_.includes检查当前对象的data.interests数组是否包含'dancing'这个元素,只要包含就会被保留到结果里。

用这个方法跑你的示例数据,结果会是包含第二个对象的数组,完全符合你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 19:48:01