gpt4 book ai didi

javascript - 在 Javascript 中将带空格的字符串数组转换为小写,然后在 Webkit 中搜索失败

转载 作者:行者123 更新时间:2023-11-30 06:59:22 33 4
gpt4 key购买 nike

我正在尝试编写一段代码,它接受一个字符串数组,其中包含项目名称 (items) 的空格,并在其中搜索字符串 (str)。只要我不首先尝试将数组转换为小写,代码就可以正常工作,这样我就可以捕获搜索字符串的所有可能情况。附加的 jsfiddle 中的代码在 Firefox 中运行良好,但在 WebKit 或 IE 中运行不正常。谁能提供任何见解?

http://jsfiddle.net/Y6zKx/16/


//项目名称数组,0包含"String"

var items = new Array('Item Name Contains String', 'This item is missing it');

//函数searchArray会在字符串数组strArray中搜索字符串str

function searchArray(str, strArray) {
for (var j = 0; j < strArray.length; j++) {
if (strArray[j].match(str)) return j;
}
return -1;
}

//将项目数组转换为小写,以便搜索不区分大小写

//这适用于 Firefox 但不适用于 Webkit

var lowerCaseItems = $.map(items, String.toLowerCase);
alert(lowerCaseItems);

//这似乎创建了相同的输出,但在 Firefox 或 Webkit 中均不起作用:

alert(items.toString().toLowerCase());

//如果数组中包含“battery”则函数将返回正位置

contains = searchArray("string", lowerCaseItems);
alert(contains);

//如果找到id,显示消息

if ($('#noItems').length) {
$('#emptyCart').show();
}

//如果找不到str显示消息

if (contains == -1) {
$('#noString').show();
}
//else
else {
alert("String Found");
}

最佳答案

试试这个:

var lowerCaseItems = $.map(items, function(n,i){return n.toLowerCase();});

jQuery.map在 null/window 上下文中调用该函数,并将该项目作为参数传递给该函数。因此,传递 toLowerCase 函数将不起作用,因为它必须在 jQuery.map 不执行的字符串对象上调用。

关于javascript - 在 Javascript 中将带空格的字符串数组转换为小写,然后在 Webkit 中搜索失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19366618/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com