Я пытаюсь заставить работать мою маленькую функцию, которая складывает каждое число в диапазоне.
Например, когда я вызываю метод следующим образом: sumAll(3,10)
он должен делать 3+4+5+6+7+8+9+10
Это работает, если я даю функции целые положительные числа, но если он получает отрицательное число или строку илинапример, массив, он не работает должным образом. Я просто хочу вернуть «ОШИБКА», если предоставленный параметр не является положительным целым числом.
Могу ли я помочь с этим, пожалуйста?Есть ли более элегантный (лучший) способ?
Мой код:
const sumAll = (...args) => {
let max = Math.max(...args);
let min = Math.min(...args);
if ((min < 0) || (!Number.isInteger(min)) || (!Number.isInteger(max)) || (Array.isArray(...args))) {
return "ERROR";
}
let n = (max - min) + 1;
return ((max + min) * n) / 2;
}