Javascript contains()、indexOf()在传递变量时随时与值不匹配

Javascript contains()、indexOf()在传递变量时随时与值不匹配,javascript,Javascript,indexOf给出的是硬编码值,例如msgs.indexOf(“程序”),但不是给定变量。 这里的msgs是一个包含多个字符串的数组对象,str[temp][1]是一个存在于msgs中的字符串。但它没有将true作为输出 if ((msgs.indexOf(str[temp][1])) != -1) { document.getElementById("jsmatch").innerHTML = "true"; Counter++; break; } else

indexOf
给出的是硬编码值,例如
msgs.indexOf(“程序”)
,但不是给定变量。 这里的
msgs
是一个包含多个字符串的数组对象,
str[temp][1]
是一个存在于
msgs
中的字符串。但它没有将
true
作为输出

 if ((msgs.indexOf(str[temp][1])) != -1) {
     document.getElementById("jsmatch").innerHTML = "true";
     Counter++;
     break;
 } else {
     document.getElementById("jsmatch").innerHTML = "false";
     break;
 }

当您对带有参数的数组调用indexOf时,它将返回该数组中该参数的索引,如果该数组中不包含该参数,则返回-1。

此代码用javascript编写,并传递到名为in body tag的函数中。写入它的文件是一个xsl文件,temp是一个变量,它的工作原理类似于我们通常使用的计数器i,j?而且,
msgs
。口译员不会撒谎。如果
indexOf
返回-1,则该字符串在数组中不存在。添加
console.log
并查看其内容。indexOf给出的确切内容是什么?我无法理解您的问题。请提供一个包含所有相关代码的。显然
str[temp][1]
不是
msgs
中的项目…