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

如何在对象数组中搜索含指定字符串的匹配项?Lodash代码异常排查

问题分析与解决办法

嘿,我一眼就瞅出你代码里的问题啦!你之所以会拿到单个字符的title,是因为你把单个字符串传给了_.some方法——_.some会把字符串当成字符数组来遍历,所以回调里的title参数每次都是原标题里的一个单个字符,自然没法和查询词匹配啦。

正确的写法(针对你的数据结构)

你的apis数组里每个元素的info.title是单个字符串,根本不需要用_.some来遍历,直接用_.includes检查整个标题是否包含查询词就行:

this.searchResults = this.apis.filter(function(item) {
  return _.includes(item.info.title, query);
});

或者用更简洁的箭头函数:

this.searchResults = this.apis.filter(item => _.includes(item.info.title, query));

额外情况:如果title是数组的话

要是以后你的数据结构变成info.title是字符串数组(比如title: ['title1', 'title2']),那才需要用到_.some,用来检查数组里有没有包含查询词的元素,这时候代码是这样的:

this.searchResults = this.apis.filter(function(item) {
  return _.some(item.info.title, function(title) {
    return _.includes(title, query);
  });
});

总结一下:你之前的错误就是把单个字符串当数组传给_.some了,去掉多余的_.some就能解决问题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:44:58