Как найти минимум и максимум вручную Javascript. почему код работает неверно

Нужно по строке "4 5 29 54 4 0 -214 542 -64 1 -3 6 -6" вывести строку, содержащую максимум и минимум. Почему код выводит '6 -214' вместо '542 -214'? Код:

function highAndLow(numbers) {
  let arr = numbers.split(" ");
  let min = arr[0];
  let max = arr[0];
  for (let i = 1; i < arr.length; i++) {
    if (arr[i] < min) min = arr[i];
    if (arr[i] > max) max = arr[i];
  }
  return `${max} ${min}`;
}
console.log(highAndLow("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"));


Ответы (1 шт):

Автор решения: Igor

Потому что Вы сравниваете строки.

function highAndLow(numbers) {
  let arr = numbers.split(" ").map(Number);
  let min = arr[0];
  let max = arr[0];
  for (let i = 1; i < arr.length; i++) {
    if (arr[i] < min) min = arr[i];
    if (arr[i] > max) max = arr[i];
  }
  return `${max} ${min}`;
}
console.log(highAndLow("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"));

→ Ссылка