Random () возвращает 1 или -1 - PullRequest
       38

Random () возвращает 1 или -1

0 голосов
/ 26 сентября 2018

Я работаю над выражениями After Effetcs.Я пытаюсь использовать случайную функцию, чтобы вернуть 1 или -1, но никогда не 0.

Мне нужно вернуть целые числа в диапазоне от 10 до 20 или от -20 до -10.

Кажетсябыть простым, но я не могу найти, как это сделать.Есть идеи?

Спасибо за помощь!

Ответы [ 4 ]

0 голосов
/ 26 сентября 2018

Большое спасибо за эти ответы.Я использовал что-то вроде этого, и это работает, но, возможно, это не идеально:

random(10,20)*(Math.round(random())-0.5)*2

Я не уверен, что вероятность получить 1 или -1 точно равна 1 в 2.

0 голосов
/ 26 сентября 2018

Вы можете взять коэффициент два и заменить ноль на -1.

function random() {
   return Math.floor(Math.random() * 2) || -1;
}

var i = 10;

while (i--) console.log(random());
0 голосов
/ 26 сентября 2018

Все ответы на этот вопрос хороши, но я подумал, что еще могу добавить это:)

console.log("1 or -1: ", (()=>{if(Math.random() > 0.5) return 1; else return -1})())
console.log("Between 10 and 20: ", Math.floor(Math.random()*11+10));
console.log("Between -10 and -20: ", Math.floor(Math.random()*11+10) * -1);
0 голосов
/ 26 сентября 2018

Я украл некоторое вдохновение из Получение случайного значения из массива JavaScript

var myArray = [1, -1]
var rand = myArray[Math.floor(Math.random() * myArray.length)];
console.log(rand);

Поместите любое число в этот массив.

...