Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 查找字符串的索引_Javascript_Arrays - Fatal编程技术网

Javascript 查找字符串的索引

Javascript 查找字符串的索引,javascript,arrays,Javascript,Arrays,我有一个带有页面ID的长字符串数组;当当前页面ID与数组中的ID匹配时,需要进行填充(在本测试中发出警报)。 无论url是否包含数组中的某个ID,该警报都会在任何页面上弹出。我的if语句有什么问题:if(pageHref.indexOf(id))?谢谢你的建议 var pageHref = window.location.href; var ids = ['14528','14417','17529']; for (var i = 0; i < ids.length; i++) {

我有一个带有页面ID的长字符串数组;当当前页面ID与数组中的ID匹配时,需要进行填充(在本测试中发出警报)。 无论url是否包含数组中的某个ID,该警报都会在任何页面上弹出。我的if语句有什么问题:
if(pageHref.indexOf(id))
?谢谢你的建议

var pageHref = window.location.href;
var ids = ['14528','14417','17529'];
for (var i = 0; i < ids.length; i++) {
    var id = ids[i];
    if (id.length > 0) {
        if(pageHref.indexOf(id)){
            //do something
            alert('a');
        }
    }
}
var pageHref=window.location.href;
变量ID=['14528','14417','17529'];
对于(变量i=0;i0){
if(pageHref.indexOf(id)){
//做点什么
警报(“a”);
}
}
}

IndexOf返回一个数字,如果该数字为-1,则不存在匹配项

举个例子。
pageHref.indexOf(id)!=-1

一篇博客文章有一个表,解释javascript条件语句中哪些值的计算结果为true。对于数值,它仅表示+0、-0和NaN值为false。因为indexOf对于不匹配返回-1,所以对于不匹配的ID,它的计算结果为true。您可能希望使用:

if(pageHref.indexOf(id) > -1)

ids.find(id=>pageHref.indexOf(id)!==-1)
indexOf
返回
-1
如果没有找到,为什么对答案投反对票?好问题。。非常奇怪…谢谢大家,这很有帮助。我还没有15岁的名声,所以我不会把我投给你的票计算在内。为什么有人给出否定的答案?他们都工作