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

如何从对象数组提取name属性值并匹配搜索输入筛选条目?

数组筛选:匹配name属性实现搜索功能

你用find()的思路错了,find()只会返回第一个满足回调条件的对象,而你写的item => item.name只要对象存在name属性就会返回true,所以它直接拿了数组里第一个元素,之后判断的只是这个元素的name是否包含搜索内容,根本没做到筛选所有条目。

要实现筛选所有name匹配搜索输入的条目,得用filter()方法,它会遍历整个数组,返回所有符合条件的元素组成的新数组。

基础实现代码

// 假设searchData是你的搜索输入值
const filteredItems = items.filter(item => item.name.includes(searchData));

优化:忽略大小写匹配

如果需要不区分大小写的搜索(比如输入"blue"也能匹配"Blue Beanie"),可以把双方都转成小写再判断:

const filteredItems = items.filter(item => 
  item.name.toLowerCase().includes(searchData.toLowerCase())
);

这样就能得到所有name包含搜索内容的对象数组了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 15:42:38