Jquery 如果字符串被其他字符包围,如何使用inArray()在数组元素中查找字符串
如何使用Jquery 如果字符串被其他字符包围,如何使用inArray()在数组元素中查找字符串,jquery,arrays,Jquery,Arrays,如何使用inArray()搜索数组中的值并返回true,即使该值被其他字符包围。这是我的代码(med是我的数组,它是med[1-10]): 如果数组元素为“xanax”或“alprazolam”,则返回true。但如果用户输入“xanax xr”或“阿普唑仑er”,它将返回false。是否有任何方法可以在该特定数组元素的任意点搜索字符串“xanax”或“alprazolam”,即使该特定数组元素中存在其他字符,并在这种情况下返回true?如果要查找部分匹配,则不能使用$.inArray()。它就
inArray()
搜索数组中的值并返回true
,即使该值被其他字符包围。这是我的代码(med
是我的数组,它是med[1-10]
):
如果数组元素为“xanax”或“alprazolam”,则返回
true
。但如果用户输入“xanax xr”或“阿普唑仑er”,它将返回false
。是否有任何方法可以在该特定数组元素的任意点搜索字符串“xanax”或“alprazolam”,即使该特定数组元素中存在其他字符,并在这种情况下返回true
?如果要查找部分匹配,则不能使用$.inArray()
。它就是不能那样工作。相反,您可以自己迭代数组,并根据需要对数组的每个元素进行任何类型的匹配
$.inArray()
没有什么神奇之处。这只是在数组中查找精确值的快捷方式,但如果该快捷方式不是您想要的,则只需执行您自己的迭代和比较类型
例如:
function findPartialStrInArray(array, target) {
for (var i = 0; i < array.length; i++) {
var item = array[i];
// if this array element is a string and contains the target string
if (typeof item === "string" && item.indexOf(target) !== -1) {
return i;
}
}
return -1;
}
var alprazolamlog = findPartialStrInArray(med, 'alprazolam') > -1;
var xanaxlog = findPartialStrInArray(med, 'xanax') > -1;
函数findPartialString数组(数组,目标){
对于(var i=0;i-1;
var xanaxlog=findPartialStrInArray(med,'xanax')>-1;
试试这个
var search_pattern = /llo/;
var data = ['foo', 'bar', 'hello world', 'im in an array'];
$.each(data, function(i, item) {
if(item.match(search_pattern))
console.log(item)
});
你也可以在得到一个肯定的结果后中断foreach,或者用
returni返回数组中的位置
迭代是指使用for循环并对每个元素进行比较吗?@user3898186-要在数组上进行迭代,可以使用for
循环或数组上的.forEach()
方法。请看我在答案中添加的示例。谢谢!看起来很棒,今天下班后我会去试一试
var search_pattern = /llo/;
var data = ['foo', 'bar', 'hello world', 'im in an array'];
$.each(data, function(i, item) {
if(item.match(search_pattern))
console.log(item)
});