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

如何用纯JavaScript实现数组的大小写不敏感值搜索?

解决大小写不敏感的动物搜索问题

没问题,咱们来调整代码实现大小写不敏感的搜索!原来的includes()方法是严格区分大小写的,所以直接用它的话,输入"panda"就匹配不到数组里的"Panda"。我们只需要把输入值和数组里的元素统一转成相同大小写(比如全小写)再做比较就行。

这里用some()方法代替includes()会更灵活,它可以遍历数组并检查是否有元素符合我们的匹配条件:

function animal() { 
  const animals = ["Panda", "Snake", "Lemur", "Tortoise", "Whale", "Cat", "Elephant", "Jaguar", "Panther", "Llama", "Horse", "Cheetah", "Leopard", "Anteater", "Tazmanian Devil"]; 
  // 获取输入值并转成全小写
  const inputValue = document.getElementById("animalName").value.toLowerCase();
  // 遍历数组,每个元素也转小写后和输入值比较
  const isAnimalAvailable = animals.some(animal => animal.toLowerCase() === inputValue);
  
  if(isAnimalAvailable){ 
    console.log("That animal is available"); 
  } else{ 
    console.log("That animal isn't in our list"); 
  } 
}

关键修改点说明:

  • 把数组变量名改成animals(原来的函数名和变量名重复了,虽然JavaScript允许,但这样命名更清晰)
  • 用toLowerCase()把输入值和数组元素都转成小写,彻底消除大小写差异
  • 使用some()方法判断是否存在匹配项,它会在找到第一个匹配元素后就停止遍历,比遍历整个数组更高效

你也可以选择用toUpperCase()统一转成大写,逻辑完全一致,只要两边的转换方式保持统一就好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:25:31