Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.toLowerCase在javascript中;不是一个函数;?_Javascript - Fatal编程技术网

.toLowerCase在javascript中;不是一个函数;?

.toLowerCase在javascript中;不是一个函数;?,javascript,Javascript,我正试着做这样的事情 if (pathArray.toLowerCase().indexOf("blah") != -1{} 当使用控制台调试时,我得到一个错误,即“pathArray.toLowerCase不是函数”。为什么我会得到这个信息 toLowerCase()仅用于字符串,但我感觉您的“pathArray”实际上是一个数组 > 'hello'.toLowerCase() 'hello' > ['hi', 'bye'].toLowerCase() TypeError: un

我正试着做这样的事情

if (pathArray.toLowerCase().indexOf("blah") != -1{}
当使用控制台调试时,我得到一个错误,即“pathArray.toLowerCase不是函数”。为什么我会得到这个信息

toLowerCase()仅用于字符串,但我感觉您的“pathArray”实际上是一个数组

> 'hello'.toLowerCase()
'hello'
> ['hi', 'bye'].toLowerCase()
TypeError: undefined is not a function

您是否试图检查数组中是否存在大写/小写形式的“blah”?

toLowerCase
是字符串的一种方法。如果希望能够在不知道确切大小写的情况下在数组中查找字符串,可以将
map
步骤添加到链中:

pathArray.map(function(s) { return s.toLowerCase(); }).indexOf('blah') !== -1
toLowerCase方法属于字符串函数原型。所以pathArray可能不是字符串。我觉得(它的名字)是一个数组。在这种情况下,以下代码可能对您有用:

pathArray.forEach(function(item, index){
    if(item.toLowerCase().indexOf("blah") != -1){
    }
});
dfsq提出的代码也很有用。这取决于要执行indexOf函数的级别。在我的例子中,您将对每个字符串执行搜索,以便找到子字符串“blah”的开始索引。在dfsq的代码中,您将查找包含整个字符串“blah”的数组索引

是的,它是一个数组,所以现在它不起作用了。我在试着做索引。不区分大小写

不需要
数组#indexOf()


如果回调返回的任何元素的字符串可能位于数组的索引0中,则返回true

在0索引上应用toLowerCase()可以解决您的问题:

pathArray[0].toLowerCase()

pathArray
是数组吗?
pathArray
可能不是字符串。如果它是一个数组,您可能需要
pathArray.some(函数(v){return v.toLowerCase()=='blah';})。是String.prototype中的函数。您的
pathArray
很可能是不同类型的对象。如果
pathArray
是数组,
toLowerCase()
是字符串方法,则需要遍历数组中的每个元素并将其转换为小写。此外,您还缺少一个结束符(是的,它是一个数组,因此,现在它无法工作,这使sens变得有意义。我在试着做索引。不区分大小写。在这种情况下,dfsq已经为您提供了所需的答案!他/她正在遍历数组,创建一个包含所有小写元素的新数组,然后检查“blah”。
pathArray[0].toLowerCase()