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,
Да, видимо я тупой... Кто-то может подсказать, где ошибки в исходном коде? |
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); |
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 |
Poznakomlus,
на всякий случай в вашем варианте и исправленном мною варианте SWin, нет хорошего разнообразия |
Часовой пояс GMT +3, время: 23:44. |