Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   random массив (https://javascript.ru/forum/misc/43468-random-massiv.html)

SWin 06.12.2013 15:42

random массив
 
Код (нерабочий):
var NumArray = [ 1, 2, 3, 4, 5];
var array = [], counter = NumArray.length, j;
           for ( var z=counter; z>0; z--)
			 {j = Math.floor(Math.random() * z);
			  array.push(NumArray.splice(j, 1)[0]);
                         };
var randomNumArray = array;

Есть массив var NumArray = [ 1, 2, 3, 4, 5 ].
Из него нужно сделать случайным образом перемешанный
массив var randomNumArray,
например var NumArray = [ 3, 5, 1, 4, 2 ]

Не могу понять, где ошибки. :help:

ksa 06.12.2013 15:51

Цитата:

Сообщение от SWin
Есть массив
var NumArray = [ 1, 2, 3, 4, 5 ]
.
Из него нужно сделать случайным образом перемешанный
массив
var randomNumArray
,
например
var NumArray = [ 3, 5, 1, 4, 2 ]

Дык!

SWin 06.12.2013 17:01

ksa,
Да, видимо я тупой...
Кто-то может подсказать, где ошибки в исходном коде?

рони 07.12.2013 00:40

SWin,
var NumArray = [ 1, 2, 3, 4, 5];
var array = [], counter = NumArray.length-1, j;
           for ( var z=counter; z>=0; z--)
			 {j = Math.floor(Math.random() * NumArray.length);
			  array.push(NumArray.splice(j, 1)[0]);
                         };
var randomNumArray = array;
alert(randomNumArray);

Vlasenko Fedor 07.12.2013 00:57

var a = [ 3, 5, 1, 4, 2 ].sort(function() {return 0.5 - Math.random()});
alert(a);

http://javascript.ru/Array/sort
http://javascript.ru/Math.random

рони 07.12.2013 01:07

Poznakomlus,
на всякий случай в вашем варианте и исправленном мною варианте SWin, нет хорошего разнообразия


Часовой пояс GMT +3, время: 23:44.