javascript中字符串与数组元素的比较

javascript中字符串与数组元素的比较,javascript,arrays,string,function,search,Javascript,Arrays,String,Function,Search,我试图制作一个代码,从列表中选择一个随机图像,并要求用户尝试识别它。到目前为止,我可以生成图像,但在尝试将字符串与数组元素进行比较时遇到了麻烦 var imageArray=new Array() myImages[1]="image1.jpg" myImages[2]="image2.jpg" myImages[3]="image3.jpg" var randNum=Math.floor(Math.random()*imageArray.length); function pickImg(

我试图制作一个代码,从列表中选择一个随机图像,并要求用户尝试识别它。到目前为止,我可以生成图像,但在尝试将字符串与数组元素进行比较时遇到了麻烦

var imageArray=new Array()
myImages[1]="image1.jpg"
myImages[2]="image2.jpg"
myImages[3]="image3.jpg"

var randNum=Math.floor(Math.random()*imageArray.length);

function pickImg()
{
if {randNum==0)
{
randNum=1;
}
document.write('<img src="'+imageArray[randNum]+'" border=0>');
}

pickImg()

function checkAns()
{
var str = imageArray[randNum];
var n = str.search('textBox');
if(n = -1)
{
alert{"Wrong Answer")
}
Else
{
alert("Right Answer")
}
}

当涉及到第二个函数并比较两个字符串时,我不知所措。谢谢您的帮助。

您的代码中有一个错误

if(n = -1)//Assigns -1 as the value of 'n'(Used assignment operator here)
{
   alert{"Wrong Answer")
}
Else
{
   alert("Right Answer")
}
尝试将代码更改为

if(n == -1)//Checking whether the value of 'n' is -1 or not(comparison)
{
    alert("Wrong Answer")
}
else
{
   alert("Right Answer")
}

假设您的输入具有ID文本框,则应使用:

var check = str.indexOf(document.getElementById('textBox').value);
if(check == -1)
{
...
搜索需要正则表达式对象作为参数,而不是字符串 =运算符指定值,而==运算符比较值 JS是区分大小写的:你在找别的,不是别的 缩进对于可维护代码非常重要。
…也应该是其他的,而不是Else@AlexanderPavlov该死,那里有太多…太多的错误。。。我建议你用正确的方法从头开始学习JS。你可以从这里开始,也许我应该恢复编辑,这有点回答他的问题。请花时间解释作业和比较=代码中还有一个语法错误。警报{感谢所有回复!我正在尝试将用户输入与数组元素的一部分匹配,以制作一个简单的记忆游戏。然后,页面将显示输入是否正确。