Как исправить ошибку NaN - Значения аргумента без сложения, вычитания, деления или умножения - в JavaScript - PullRequest
2 голосов
/ 06 апреля 2019

Я в конечном итоге пытаюсь решить этот ката на CodeWars.

Начнем с того, что я просто пытаюсь определить «скорость» скорости человека.

function shark(pontoonDistance, sharkDistance, youSpeed, sharkSpeed, dolphin) {

let yourRate = pontoonDistance / youSpeed;

return yourRate;

}
console.log(shark((12, 50, 4, 8, true)));

Но это возвращается NaN. Это не имеет никакого смысла. Этот похожий код вернет 2:

function divide(firstValue, secondValue) {
    let newValue = secondValue / firstValue;
    return newValue; 
}

console.log(divide(3, 6));

Чем отличается эта ситуация от того, что первый вернет NaN?

Я планирую сравнить с другой переменной, sharkRate (sharkDistance / sharkSpeed). Если yourRate больше, чем sharkRate, человек будет плавать в безопасности.

Но для начала я просто пытаюсь выяснить, почему yourRate возвращает NaN?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 06 апреля 2019

Проблема в вашем текущем коде заключается в том, что в вашем вызове shark есть дополнительная пара скобок.Это приводило к тому, что ваш код пытался разделить (12, 50, 4, 8, true) на undefined (потому что это был единственный переданный аргумент, а youSpeed не существовало. Удаление этих проблем решит вашу проблему:

function shark(pontoonDistance, sharkDistance, youSpeed, sharkSpeed, dolphin) {

let yourRate = pontoonDistance / youSpeed;

return yourRate;

}
console.log(shark(12, 50, 4, 8, true));
1 голос
/ 06 апреля 2019

У меня было слишком много скобок в моем console.log.

Я изменил console.log(shark((12, 50, 4, 8, true)));

до console.log(shark(12, 50, 4, 8, true));

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