@Rapen

Как работает Math.Random()?

Решая задачи на лерн js, решая один из задач:
"Есть массив строк arr.Используйте функцию sort для того, чтобы «перетрясти» элементы массива в случайном порядке." В конечном итоге решить я не смог, ибо math.random() выполнялся не так, как было нужно в параметре sort().Решил посмотреть как решаетcя.
var arr = [1, 2, 3, 4, 5];
    function compareRandom(a, b) {  return Math.random() - 0.5; }
    arr.sort(compareRandom);

   alert( arr ); // элементы в случайном порядке, например [3,5,1,2,4]

А именно для случайно сортировки из результата метода random, почему-то понадобилось вычеcть -0.5, и тадаам, хочу спросить, как это работает?
  • Вопрос задан
  • 840 просмотров
Пригласить эксперта
Ответы на вопрос 1
sfi0zy
@sfi0zy Куратор тега JavaScript
Creative frontend developer
Math.random() генерирует псевдослучайное число в диапазоне от 0 до 1. То, что вы сделали лишено всякого смысла.

Не говоря уже о том, что у вас в задании массив строк, а вы делаете массив чисел. Скорее всего вам нужно было сделать что-то вроде arr.slice().sort(), чем придумывать что-то.
Ответ написан
Ваш ответ на вопрос

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

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