javascript中不区分大小写

javascript中不区分大小写,javascript,Javascript,我有一个我正在创建的搜索函数,在这个函数中,我试图通过对多个对象执行搜索来实现对对象的name属性执行搜索以返回结果。我还试图使代码不区分大小写,因此,如果用户在搜索字段中键入'CaT'或'CaT',他们仍然会返回“CaT”对象。我是JS的新用户,熟悉toLowerCase/toUpperCase,但我很难使用reg/exp。如果有人能提供任何关于我在这段代码中做错了什么的提示 function search(animals, name) { if (animals.toLowerCas

我有一个我正在创建的搜索函数,在这个函数中,我试图通过对多个对象执行搜索来实现对对象的name属性执行搜索以返回结果。我还试图使代码不区分大小写,因此,如果用户在搜索字段中键入'CaT'或'CaT',他们仍然会返回“CaT”对象。我是JS的新用户,熟悉toLowerCase/toUpperCase,但我很难使用reg/exp。如果有人能提供任何关于我在这段代码中做错了什么的提示

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

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

实现一个名为
search
的函数,其签名为
search(animals,name){/…}
: -获取表示
动物数组的参数。
-获取表示字符串的参数,字符串是要对其执行搜索的动物的名称。
-查看
动物
数组,如果存在同名动物,则返回该动物的对象。 -如果不存在同名动物,则返回
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) 
        }
    }
}
功能搜索(动物、名称){
对于(变量i=0;i
如果在创建对象的确切大小写中键入该对象,则该操作可以与该对象的属性相匹配。我所要做的就是让函数在任何大小写下都能工作

功能搜索(动物、名称){
if(anives.toLowerCase()==name.toLowerCase()){
var equal=动物。toLocaleLowerCase()==名称。toLocaleLowerCase();
console.log(相等);
}
}

单击我试试这个

var动物=[“猫”、“狗”、“牛”];
功能搜索(动物、名称){
if(animal.toLowerCase()==name.toLowerCase()){
console.log(“与:+动物匹配”);
}否则{
console.log(“与:+动物不匹配”);
}
}
函数myFunction(){
console.clear();
var nameInput=document.getElementById(“myText”).value;
动物。forEach(功能(条目){
搜索(条目、名称输入);
});
}
动物名称:

搜索
动物。toLowerCase()==name.toLowerCase(“name”)
-你在这里以两种完全不同的方式使用相同的方法并不会让你停滞不前,是吗?特别是因为你在下一行做同样的事情,显然是完全多余的
equal
变量…函数应该做什么?搜索还是搜索?请相应地命名。假定函数在对象数组中搜索,并在函数识别键入的字符串与对象属性上的值匹配后返回正确的对象。
anives
是否为数组?使用(点击
F12
)并读取任何错误。请添加更多数据,如您正在进行比较的数据。
toLowerCase
不接受任何参数,那么这会有什么不同呢?我已经更改了答案,可能是这样的?不,这没有什么区别。您在哪里使用此
var name=“CaT”
@DavidJorHpan在我声明数组动物后,我不想硬编码字符串“CaT”。我想通过尚未通过的函数(用户输入)传递一个参数,以评估它是否与数组中的对象匹配。@Ashton wiat我将编辑answer@Ashton现在试试