I am trying to create a table with non repeating random letters (uppercase only) using JavaScript. Someone posted an answer, but it was deleted before I got a chance to ask: 1) Why is there a var x and a var y instead of having only a var x? 2)Why do you put i-1 in return letters[i-1]?
HTML5:
<table class="bingo">
<tr>
<td id="square0"></td>
<td id="square1"></td>
<td id="square2"></td>
</tr>
<tr>
<td id="square3"></td>
<td id="square4"></td>
<td id="square5"></td>
</tr>
<tr>
<td id="square6"></td>
<td id="square7"></td>
<td id="square8"></td>
</tr>
</table>
JS
//Create capital letters A - Z array
var letters = [];
for (var i = 65; i < 91; i++) {
letters.push(String.fromCharCode(i));
}
//Confuse about why there is a var x and a var y?
for (var i = 0; i < 26; i++) {
var x = Math.floor(Math.random() * 26);
var y = Math.floor(Math.random() * 26);
var temp = letters[x];
letters[x] = letters[y];
letters[y] = temp;
}
var rLetter = function(i) {
return letters[i-1];
};
window.onload = function () {
//calls the function
$("square0").innerHTML = rLetter(1);
$("square1").innerHTML = rLetter(2);
$("square2").innerHTML = rLetter(3);
$("square3").innerHTML = rLetter(4);
$("square4").innerHTML = rLetter(5);
$("square5").innerHTML = rLetter(6);
$("square6").innerHTML = rLetter(7);
$("square7").innerHTML = rLetter(8);
$("square8").innerHTML = rLetter(9);
}