Я бы переписал функцию в нечто вроде этого
let arr = [1,4,5,2,7];
arr.sort();
let largest = arr.slice(1).reduce((a, b) => a + b, 0);
arr.reverse();
let smallest = arr.slice(1).reduce((a, b) => a + b, 0);
console.log(largest+ " " + smallest);
Сначала мы отсортируем массив.
Затем, чтобы найти наибольшую возможную сумму, мы отрежем первый и самый маленький элемент и сумму на остаток.
Результат сохраняется в переменной largest
.
Затем, чтобы найти наименьшую возможную сумму, мы делаем то же самое снова. Единственные различия на этот раз в том, что мы обращаем массив таким образом, чтобы срезанное значение было наибольшим.
Наименьшая возможная сумма будет сохранена в переменной smallest
.
Если все из целых чисел в массиве равно, наименьшее и наибольшее значение также будет равно.