JavaScript Math.random () возвращает «Не определено» - PullRequest
0 голосов
/ 08 октября 2019

У меня есть блок кода, который использует Math.random (). Я заметил, что иногда возвращаемое значение будет «Не определено». Это код, который я использовал:

return data.map(val => {
    var r = Math.random();
    if (r < this.mutChance) {
        console.log(Math.random);
        debugger;
        return this.rDna(val);
    }
    return val;
});

Когда я устанавливаю переменную mutChance равной 0 и позволяю коду бегать немного, в конце концов вызывается отладчик и показывает, что значение r не определено. Я попытался воспроизвести проблему, запустив в консоли

var test = Math.random();
while(test){
    test = Math.random();
}

Однако этот цикл никогда не заканчивался. Я понятия не имею, почему функция будет действовать по-другому в моем объекте, и console.log (Math.random);Говорит, что функция все еще имеет свой собственный код. Нигде я не переопределяю случайную функцию и не использую переменную r где-либо еще.

Я относительно новичок в JavaScript и больше нигде не смог найти эту проблему. Единственный другой код, который я импортировал, - это пакет p5.min.js.

1 Ответ

0 голосов
/ 08 октября 2019

Проблема была в том, как chrome интерпретировал очень маленькие значения

Без console.log chrome показывает это так:

С дисплеями хрома console.logправильно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...