我有这两个数组;
theImages1 = new Array();
theImages1[0] = 'images/1-0000-0400-0487-3.6-0.9.gif'
theImages1[1] = 'images/1-0000-0450-0526-3.2-0.8.gif'
theImages1[2] = 'images/1-0000-0500-0568-2.9-0.7.gif'
theImages2 = new Array();
theImages2[0] = ['images/1-0000-0400-0487-3.6-0.9.gif', 100000.5]
theImages2[1] = ['images/1-0000-0450-0526-3.2-0.8.gif', 200000.6]
theImages2[2] = ['images/1-0000-0500-0568-2.9-0.7.gif', 300000.7]
theImages1在计时器上随机显示为变量imageDisplay。
我需要将imageDisplay与images2进行比较,如果它们匹配,我需要检索图像右侧长数字的第二部分的值
示例300000.7
我一直在尝试使用循环和if语句完成比较,如下所示......
canoe = imageDisplay
for (i=0; i<theImages11.length; i++) {
if (canoe == theImages11[i]) {
alert("yes")
}
else {
alert("no")
}
}
但是,由于Images2数组的第二部分,警报始终是&#34; no&#34;。我也不知道如何检索数组的第二部分,即数字。 感谢您的任何反馈。
答案 0 :(得分:0)
鉴于您的初始数据:
theImages1 = new Array();
theImages1[0] = 'images/1-0000-0400-0487-3.6-0.9.gif'
theImages1[1] = 'images/1-0000-0450-0526-3.2-0.8.gif'
theImages1[2] = 'images/1-0000-0500-0568-2.9-0.7.gif'
theImages2 = new Array();
theImages2[0] = ['images/1-0000-0400-0487-3.6-0.9.gif', 100000.5]
theImages2[1] = ['images/1-0000-0450-0526-3.2-0.8.gif', 200000.6]
theImages2[2] = ['images/1-0000-0500-0568-2.9-0.7.gif', 300000.7]
您只需要更好地了解正在使用的数组索引:
canoe = imageDisplay // e.g., images/1-0000-0500-0568-2.9-0.7.gif
for (i=0; i<theImages2.length; i++) {
if (canoe == theImages2[i][0]) // first index pos of each entry
return theImages2[i][1]; // return the 2nd index pos (the value)
}
}
return false; // no match, return false or whatever other failure