javascript数组索引不工作

javascript数组索引不工作,javascript,arrays,indexof,Javascript,Arrays,Indexof,试图建立一个html扫雷游戏我是一个非常初学者,我试图得到一次点击,以检查该框是否等于一个炸弹点的价值 我使用javascript填充我的“table”元素(id为“grid”),给每个box/td一个id 0-99 var gameBox = ""; for ( var i = 0 ; i < 10 ; i++ ) { gameBox += "<tr>"; for ( var j = 0 ; j < 10 ; j++ ) { var idValue = i *

试图建立一个html扫雷游戏我是一个非常初学者,我试图得到一次点击,以检查该框是否等于一个炸弹点的价值

我使用javascript填充我的“table”元素(id为“grid”),给每个box/td一个id 0-99

var gameBox = "";
for ( var i = 0 ; i < 10 ; i++ ) {

gameBox += "<tr>";
for ( var j = 0 ; j < 10 ; j++ ) {
    var idValue = i * 10 + j;
    gameBox += "<td class = 'box' id = '" + idValue + "' onclick = 'process(this);' ></td>";
}
gameBox += "</tr>";
}
document.getElementById("grid").innerHTML = gameBox;
然后,当他们单击一个框(td)时,它会触发流程功能

function process(clicked) {
//change box look
clicked.style.backgroundColor = "#ffffff";
clicked.style.border = "1px solid black"; 
bombCheck(clicked);
}
这会触发bombCheck()


问题是最终的indexof(bombcheck中的一个)总是返回-1 weather或not it a bomb(我用console.log检查哪个r bombs),正如您所看到的,我在同一个脚本中使用了类似的indexof检查,它工作得很好,请帮助我,这是因为这一行

var boxNum = event.id; //this returns a STRING of the id attribute var-boxNum=event.id//这将返回id属性的字符串 然后你以后把它当作一个数字

用这句话代替那句话

var boxNum = parseInt(event.id); //this will return a NUMBER which you can use var-boxNum=parseInt(event.id)//这将返回一个您可以使用的数字
因为这条线

var boxNum = event.id; //this returns a STRING of the id attribute var-boxNum=event.id//这将返回id属性的字符串 然后你以后把它当作一个数字

用这句话代替那句话

var boxNum = parseInt(event.id); //this will return a NUMBER which you can use var-boxNum=parseInt(event.id)//这将返回一个您可以使用的数字
你似乎把字符串当作一个数字。。检查下面的答案。它现在工作了吗?谢谢所有的帮助。你似乎把字符串当作一个数字。。检查下面的答案我现在成功了谢谢所有帮助谢谢我知道的关于parseInt的感谢我不知道。我返回了我的号码,希望能帮上忙。祝您在游戏中好运:)您可能不应该首先使用数字ID。它们在HTML4中是不允许的,一些浏览器可能不喜欢它们。@Barmar atm我发现数字id对于循环来说是最合理的,特别是因为我使用了多个循环(正如你在我的代码中看到的),但是如果你有一个好的建议,我会使用id,比如
box1
box2
,等等。然后
var-boxNum=parseInt(event.id.substr(3), 10);谢谢,我知道parseInt,但我不知道。我返回了我的号码,希望能帮上忙。祝您在游戏中好运:)您可能不应该首先使用数字ID。它们在HTML4中是不允许的,一些浏览器可能不喜欢它们。@Barmar atm我发现数字id对于循环来说是最合理的,特别是因为我使用了多个循环(正如你在我的代码中看到的),但是如果你有一个好的建议,我会使用id,比如
box1
box2
,等等。然后
var-boxNum=parseInt(event.id.substr(3), 10);
var boxNum = event.id; //this returns a STRING of the id attribute
var boxNum = parseInt(event.id); //this will return a NUMBER which you can use