Правильно ли написана написанная мной функция javascript в соответствии с вопросом? Я новичок - PullRequest
0 голосов
/ 16 марта 2020

Функция должна рассчитывать общее количество корма для домашних животных, которое магазин должен заказать на предстоящую неделю. Параметр numAnimals представляет количество животных в магазине, а avgFood представляет среднее количество пищи (в килограммах), съедаемой каждым животным каждую неделю.

Функция должна возвращать общее количество корма для домашних животных, которое необходимо заказать на предстоящую неделю, или -1, если numAnimals или avgFood меньше 0 или не указано c.

function calculateFoodOrder(numAnimals, avgFood) {
// IMPLEMENT THIS FUNCTION!
if (numAnimals < 0 || avgFood < 0 || null) {
    return -1;
}
else {
    return totalAmount = avgFood * numAnimals;
}

}

1 Ответ

0 голосов
/ 16 марта 2020

Чтобы проверить, является ли переменная цифрой c, вы должны сначала проверить ее тип:

typeof num === 'number'

И помните, что typeof NaN === 'number', но, очевидно, это следует исключить.

Таким образом, полный агрегат может выглядеть так:

function calculateFoodOrder(numAnimals, avgFood) {
  // IMPLEMENT THIS FUNCTION!
  if (isInvalid(numAnimals) || isInvalid(avgFood)) return -1
  return avgFood * numAnimals;

  function isInvalid (num) {
    return typeof num !== 'number' || Number.isNaN(num) || num < 0
  }
}
...