在javascript中不区分大小写

时间:2017-11-09 08:31:09

标签: javascript

我有一个我正在创建的搜索功能,我正在尝试通过多个对象执行搜索来对对象的name属性执行搜索以返回结果。我也试图使代码不区分大小写,所以如果用户输入' CaT'或者' cat'在搜索领域,他们仍然会返回'#34; Cat"宾语。我是JS的新用户,熟悉toLowerCase / toUpperCase但是我很难与reg / exp斗争。如果有人可以提供任何关于我这个代码错误的提示?

function search(animals, name) {
    if (animals.toLowerCase() === name.toLowerCase()) {
        return animals; 
}

}

//新编辑 提示问题和原始代码如下:

实施一个名为search的函数,其签名为search(animals, name) { //... }:     - 采用表示animals数组的参数。     - 采用表示字符串的参数,即执行搜索的动物的名称。     - 查看animals数组,如果存在具有该名称的动物,则返回动物的对象。     - 如果不存在具有该名称的动物,则返回null

function search(animals, name) {

    for (var i = 0; i < animals.length-1; i++) {
        if (animals[i].name === name) {
            return animals[i];
        } else {
            console.log(null) 
        }
    }
}

如果在创建的EXACT外壳中输入了它,则可以匹配对象的属性。我试图做的就是使功能适用于任何外壳。

2 个答案:

答案 0 :(得分:0)

试试这个

var animals = ["cat", "dog", "cow"];

function search(animal, name) {
  
  if (animal.toLowerCase() === name.toLowerCase()) {
    console.log("Matchs with : " + animal);
  } else {
    console.log("Not match with : " + animal);
  }
}

function myFunction() {
  console.clear();
  var nameInput = document.getElementById("myText").value;
  animals.forEach(function(entry) {
    search(entry, nameInput);
  });

}
Animal Name: <input type="text" id="myText" />
<button onclick="myFunction()">Search</button>

答案 1 :(得分:-3)

function search(animals, name) {
if (animals.toLowerCase() === name.toLowerCase()) {
    var equal = animals.toLocaleLowerCase() === name.toLocaleLowerCase();
    console.log(equal); 
 }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<button onclick="search('abc','AbC')">Click me</button>