var str = "13600478888,13600147894,....";一共有35000个号码
var mobileNo = "13600847111";我想查找"13600847111"是否在35000个号码中,请教各位大侠代码如何写效率最高,执行最快。
我写的代码是:
function findNo(no){
var strArr = str.split(",");
for(var i=0; i< strArr.length; i++){
if(mobileNo == strArr[i]){
alert("找到!");
break;
}else{
alert("找不到!");
}
}
}求个位大侠帮我优化代码!小弟在此谢先了!
var mobileNo = "13600847111";我想查找"13600847111"是否在35000个号码中,请教各位大侠代码如何写效率最高,执行最快。
我写的代码是:
function findNo(no){
var strArr = str.split(",");
for(var i=0; i< strArr.length; i++){
if(mobileNo == strArr[i]){
alert("找到!");
break;
}else{
alert("找不到!");
}
}
}求个位大侠帮我优化代码!小弟在此谢先了!
var str = "5,21,3,4";
var mobileNo = "21";
var re = eval("/(^|[^\\d])"+mobileNo +"([^\\d]|$)/g");
alert(re.test(str));
</script>
正则快
indexof也是一个一个循环匹配的
<head>
<title>JS Test</title>
<script language="javascript">
function find()
{
var findValue = document.getElementById("findValue").value;
var strValue = "123,345,435,533,423,353,534,765,323,676,111,343,555,666,222,555,444,888,111,222";
document.getElementById("text").innerText = strValue;
if (strValue.match(findValue))
{
alert(findValue + "存在")
}
else
{
alert(findValue + "不存在")
}
}
</script
</head>
<body>
<form>
<div id="text"></div>
<input type="text" id="findValue" />
<input type="button" value="find" onclick="find()" />
</form>
</body>
<html>
我在想是每次循环花的时间长,还是比较变量是否相等的时间长。如果是第一种情况,那么可以将这个大数组转换成长度一致的若干小数组,然后用一个循环,每次比较多个数;
只是个建议,想法不成熟