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

JavaScript中使用.filter与.find获取含Y/y字母的元素遇到问题如何解决

问题原因

你现有代码的问题出在两点:

  1. 第一次调用filter时只判断了是否包含大写Y,你提供的示例数组中没有符合该条件的姓名,所以拿到的是空数组
  2. 后续调用的find方法只会返回第一个满足条件的元素,因此你只拿到了第一个带小写y的Tommy,漏掉了后面同样带小写y的Bradley

最优实现方案

直接在filter的判断逻辑里同时匹配大小写Y即可,一次遍历就能拿到所有符合条件的结果,不需要额外调用find或者写循环:

方案1:统一转小写(推荐,代码更简洁)

const students = ["Tommy","Noah","Xander","Adil","Bradley","Nicholas","Damien"]
const containsY = students.filter(student => student.toLowerCase().includes('y'))
console.log(containsY) // 输出结果:["Tommy", "Bradley"]

方案2:直接加或逻辑判断

const containsY = students.filter(student => student.includes('Y') || student.includes('y'))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 16:36:03