【发布时间】:2015-10-09 21:27:06
【问题描述】:
最初,问题是我必须收到一些通知,当用户在 JqueryUI 自动完成中输入的术语(项目中的城市名称)与集合中的任何内容不匹配时(输入“我的甜蜜城市”并且它不匹配 [莫斯科, 纽约, 北京])。所以我会重写我的代码来手动在数组中搜索,但是我有一个问题——如何像自动完成一样在数组中搜索?
【问题讨论】:
标签: javascript jquery text-search
最初,问题是我必须收到一些通知,当用户在 JqueryUI 自动完成中输入的术语(项目中的城市名称)与集合中的任何内容不匹配时(输入“我的甜蜜城市”并且它不匹配 [莫斯科, 纽约, 北京])。所以我会重写我的代码来手动在数组中搜索,但是我有一个问题——如何像自动完成一样在数组中搜索?
【问题讨论】:
标签: javascript jquery text-search
有几种方法可以做到这一点。如果它很简单,您可以使用indexOf 来查找匹配项,如下所示:
var arr = ["one", "two", "three", "four", "five"];
var inputText = "three";
if (arr.indexOf(inputText) > -1) {
alert("item found");
}
else {
alert("item not found");
}
另一种选择(也是更有效的选择)是使用正则表达式并循环遍历数组以查找匹配项(由 Aleadam 提到):
function searchStringInArray (str, strArray) {
for (var j=0; j<strArray.length; j++) {
if (strArray[j].match(str)) return j;
}
return -1;
}
【讨论】: