sakrab
@sakrab
Не будь побежден злом, но побеждай зло добром...

Math.random. Не соображу. Устал?

Ребят подскажите, а то уже голова не варит. Совсем глупый вопрос, но совсем я потерялся =)

Есть массив:
var deck = ["a","b",....."y","z"] // состоит из 36 строк


Пытаюсь рандомом выводить по 1:

var div1 = document.getElementById('div1');
function shuffle(a){
	for(var i = 0; i< a.length; i++){
		var t = Math.floor(Math.random() * i + 1);
	}
	return a[t];
}
div1.innerHTML = shuffle(deck)


Ни как не могу зацепить строку под индексом [0] =(
  • Вопрос задан
  • 223 просмотра
Решения вопроса 1
DIITHiTech
@DIITHiTech
Fullstack javascript developer
Я не знаю, что Вы пытались сказать этим циклом... может элементы без повтора выбирать хотели, или что...
Там хватит просто index=Math.floor(Math.random() * array.length);
Вообщем игра угадайку что нужно...
https://jsfiddle.net/DigitalBrain/jcsm8894/2/
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
abyrkov
@abyrkov
JavaScripter
Math.round(Math.random() * max)
Только мне непонятно, зачем for?
Ответ написан
@dmitryKovalskiy
программист средней руки
Если вы пытаетесь реализовать алгоритм случайной сортировки(перемешивания массива) то более корректным алгоритмом является перестановка 2случайных элементов с количеством перестановок равным размеру массива. А код странный. Зачем циклом пользоваться, зачем "+1"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы