Dima83
Новичок
Создаю массив, который должен заполняться автоматически случайными буквами (без повторений). Буквы берутся из другого массива. При генерации у меня происходит заполнение. Однако все равно иногда проскальзывают дубли букв, пример на картинке.
Как это исправить, чтобы не было повторений?
Вот код:
Как это исправить, чтобы не было повторений?
Вот код:
HTML:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<script>
var bukvy = ['А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ж', 'З',
'И', 'Й',
'К', 'Л', 'М', 'Н', 'О', 'П', 'Р',
'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я'];
var slovo = Array();
var word1='лес';
slovo = word1.split("");
var isUniq;
function showInfo()
{
document.getElementById("debug").value = "";
document.getElementById("debug2").value = "";
for (var i = slovo.length; i < 16; i++)
{
do
{
isUniq = true;
word1 = bukvy[Math.trunc(Math.random()*bukvy.length)];
for (var j=0; j<=i-2;j++)
{
if(slovo[j]==word1)
{
isUniq = false;
}
}
}while(!isUniq)
slovo[i]=word1;
}
document.getElementById("debug").value = "";
for (var j = 0; j < 16; j++)
{
document.getElementById("debug").value += slovo[j]+"\n";
}
console.log(slovo);
}
</script>
</head>
<body onload="showInfo()">
<textarea id="debug" rows="20" cols="45"></textarea>
<textarea id="debug2" rows="20" cols="45"></textarea>
</body>
</html>