Я пытаюсь создать таблицу с повторяющимися случайными буквами (только в верхнем регистре) с использованием JavaScript. Кто-то отправил ответ, но он был удален до того, как я получил шанс спросить: 1) Почему существует var x и var y вместо наличия только var x? 2) Почему вы помещаете i-1 в обратные буквы [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);
}
Вам нужны X и Y, потому что это [randomizing] (http://stackoverflow.com/a/2450976/502613) массив букв. Повторное использование переменных - это плохая практика. Вам действительно не нужно 'i - 1', но это позволит вам начинать с' 1' в 'onload', а не' 0'. – Jorg