Function 很难将字符串数组转换为小写并添加到my函数中。Javascript
我有一个搜索字符串数组的函数。除了区分大小写之外,它工作得非常好。我需要它不区分大小写 最简单的方法是让函数将数组转换为小写,这样当函数在数组中执行搜索时,无论大小写如何,都可以找到它 我尝试添加Function 很难将字符串数组转换为小写并添加到my函数中。Javascript,function,javascript,Function,Javascript,我有一个搜索字符串数组的函数。除了区分大小写之外,它工作得非常好。我需要它不区分大小写 最简单的方法是让函数将数组转换为小写,这样当函数在数组中执行搜索时,无论大小写如何,都可以找到它 我尝试添加var-array\u-name\u-tolowercase=array\u-name.tolowercase()在我的函数中,这样当调用函数时,它可以在所有数组上工作;如果需要的话 对不起,我没有说清楚,如果是这样的话,请让我知道,我会尽力重新解释。提前谢谢 您不能在数组对象上调用toLowerCas
var-array\u-name\u-tolowercase=array\u-name.tolowercase()代码>在我的函数中,这样当调用函数时,它可以在所有数组上工作;如果需要的话
对不起,我没有说清楚,如果是这样的话,请让我知道,我会尽力重新解释。提前谢谢 您不能在数组对象上调用toLowerCase您需要在数组的单个成员上调用您需要将数组的元素转换为小写,而不是数组对象本身。我不知道函数内部到底发生了什么,但类似这样:
for(var i = 0; i < arrayName.length; i++) {
if(arrayName[i].toLowerCase() === "whatever") {
//Found a match!
}
}
for(变量i=0;i
发布更多的代码,将更容易提供更精确的解决方案!这是上面的一个例子。除非对数组进行扩展,否则不能在数组上使用toLowerCase()
将它放在代码中的某个地方,然后从这里开始,您可以在数组中使用它(注意,只有当数组中填充了字符串时)
Array.prototype.toLowerCase=function(){
for(var i=0;i
数组没有toLowerCase
方法。在遍历数组时,可以对每个字符串创建一个或仅调用toLowerCase
Array.prototype.toLowerCase = function() {
var i = this.length;
while ( --i >= 0 ) {
if ( typeof this[i] === "string" ) {
this[i] = this[i].toLowerCase();
}
}
return this;
};
对于您发布的代码,您可以更改var a=(array[i].indexOf(searchlow))代码>到
var a = (array[i].toLowerCase().indexOf(searchlow));
最简单的方法是将大小写混合的数组连接成一个字符串,将其小写,然后将该字符串拆分回一个数组
示例:
var tmp = mcArray.join('~').toLowerCase()
var lcArray = tmp.split('~')
就我个人而言,我发现这样做容易得多:
array = ["Apples","Oranges","FRUIT"];
console.log("array: "+array); //array: Apples,Oranges,FRUIT
arrayString = array.toString();
arrayLowerString = arrayString.toLowerCase();
arrayLower = arrayLowerString.split(",");
console.log("arrayLower: "+arrayLower); //apples,oranges,fruit
使用ES6的另一种方法是使用和
var-arr=['Billie','Jean'];
var arr_lower=arr.map(item=>item.toLowerCase());
控制台日志(arr_下部)代码>向我们展示你函数的代码,这样我们就可以建议如何使它不区分大小写。谢谢大家,整理好了!谢谢嗨,抱歉这么含糊。我在上面贴了一些代码。谢谢,如果任何数组项包含“~”会发生什么?非常愚蠢。。。显然,这会搞乱逻辑。这是假设“~”是一个安全字符。您可以使用任何其他字符。这是有效的,或者您可以简单地将所有三个方法连接成一个var arrayLowerString=array.toString().toLowerCase().split(“,”)
array = ["Apples","Oranges","FRUIT"];
console.log("array: "+array); //array: Apples,Oranges,FRUIT
arrayString = array.toString();
arrayLowerString = arrayString.toLowerCase();
arrayLower = arrayLowerString.split(",");
console.log("arrayLower: "+arrayLower); //apples,oranges,fruit
function(resp) {
return this.colors.filter(function(color) {
return color.toLowerCase() === resp.toLowerCase();
})[0];
}
array_name_tolowercase = array_name.map(x=>x.toLowerCase)