我们的网站在.asp上运行javascript,而indexOf函数的行为与我的预期不符。请参阅下面的示例(对于示例,同样更改了一些变量。但是所有类型都相同):
var SID = "foo";
var getCookie = "foo##%##bar##%##bloo"
var cookieArr = getCookie.split("##%##");
if(cookieArr.indexOf(SID)!=-1){
console.log("found") //found
} else {
console.log("not found") //not found
}
这在控制台中可以正常工作,但是当在服务器上运行时,它会在if语句行上返回“Object不支持此属性或方法”。
我注意到将检查更改为'cookieArr [0] .indexOf(SID)!= - 1'在服务器端解析为true但是这显然不好,因为我告诉它在哪里看。
如果这是一个已知的行为,我应该使用什么解决方案来搜索数组中是否存在值?
编辑:
现在使用下面的脏方法,但如果有人知道为什么上述方法不起作用,仍会感兴趣
function checkArrForString(str,arr){
for(x=0;x<arr.length;x++){
if(arr[x]==str){
return x;
}
}
return -1;
}