I'm trying to check if a certain number is contained within an array.
I have tried using if (value in mines) and var value = this.value; var isMine = mines.indexOf(value);
But neither of these are working as expected. Can anyone explain why? FIDDLE
JS
var mines = []
while (mines.length < 9){
var randomnumber=Math.ceil(Math.random() * 30)
var found=false;
for(var i=0;i<mines.length;i++){
if(mines[i]==randomnumber){found=true;break}
}
if(!found)mines[mines.length]=randomnumber;
}
$(document).ready(function() {
$(".blank").click(function() {
var value = this.value;
if (value in mines) {
$(this).removeClass("blank");
$(this).addClass("bomb");
} else {
$(this).removeClass("blank");
$(this).addClass("safe");
}
});
});
HTML
<div class="background">
<table>
<tr>
<td colspan="10"><div class="title">title here</div></td>
</tr>
<tr>
<td colspan="10"><div class="info">text here</div></td>
</tr>
<tr>
<td><button class="blank" value="1"></button></td>
<td><button class="blank" value="2"></button></td>
<td><button class="blank" value="3"></button></td>
</tr>
<table>
</div>
if( mines.indexOf(value) > -1 )