Сообщение от Stroy
|
Есть 2-х мерный массив 9Х9. Хочу построчно заполнить его случайными числами в диапазоне 1-9. Каждая ячейка имеет свой id.
|
Запустите функцию
function Peremeshivalka(9) - 9 раз(можно в цикле)
При каждом запуске получите массив случайный из 9 элементов
function Peremeshivalka(lng){
var a = {},i,out=[],n=0;
for(i=0;i<lng;i++)a[i]=i;
while (n!=lng){
i = Math.floor(lng*Math.random());
if(typeof(a[i])!='undefined'){
out.push(a[i]+1); //Добавил 1(чтобы не от 0)
delete a[i];
n++;
}
}
return out;
}
var out =[];
for(var i=0;i<9;i++){ out.push(Peremeshivalka(9).join(','));}
alert(out.join(',\n'))
//
==========================
Хотя пост 9 делает тож самое не хуже
// Замерил на 10000 элементах - мой быстрее
(наверно splice(n,1)[0]; дольше, чем delete a[i];