2015-10-23 5 views
0

Я хочу создать случайный массив из 6 элементов из (0-300) , а расстояние между ним и числом равно 20, i означает (0,20, 40,60, ..., 300)Как создать случайный массив с определенным диапазоном

вот мой код, чтобы создать 6 массив случайных, но не в определенной разности

в JS

var myNumArray = randomArray(6,0,300); 
function random_number(min,max) { 

return (Math.round(((max-min)) * Math.random() + min)); 
} 

function randomArray(num_elements,min,max) { 

var nums = new Array; 

for (var element=0; element<num_elements; element++) { 
    nums[element] = random_number(min,max); 
} 
+4

Что вы имеете в виду? Если они случайны, как они могут быть с заданным расстоянием? – Itay

+1

вы передаете 3 параметра в «randomArray», но объявляете 2, что означает 6 элементов из 0-300 с прыжками в 20? ничего здесь случайное ... – Saar

+0

нет, я попробовал, у меня 6 номеров случайным образом имеет диапазон от 0 -300 –

ответ

3

Поскольку --i предположить из вашего примера - расстояние зафиксировано до 20, вы можете просто использовать 15 в качестве предела (вместо 300), затем умножить random_number на 20 в конце.

Вот как ваш код должен понравиться: (working exemple here)

var myNumArray = randomArray(6,0,15); 

function random_number(min,max) { 
    return (Math.round(((max-min)) * Math.random() + min)); 
} 

function randomArray(num_elements,min,max) { 

    var nums = new Array; 
    for (var element=0; element<num_elements; element++) { 
     nums[element] = random_number(min,max)*20; 
    } 
} 

Это дает желаемый результат. Вы также можете отрегулировать его, чтобы расстояние не было жестко закодировано:

// distance variable declaration; 
// ... 
nums[element] = random_number(min,max)*distance; 
+0

Я попробую, спасибо :) –

+0

приветствуются. написал его на лету, я надеюсь, что он ответит на ваши нужды. – inaliahgle

+0

это не сработало, я получил номер более 1000 :(:( –

Смежные вопросы