Поиск max и min значений

124
11 сентября 2019, 04:50

На входе у меня строка чисел. Нужно найти максимальное и минимальное значение. Не воспринимается число 0. Что не так сделал?)

function highAndLow(numbers) { 
  var arr = numbers.split(" ").map(Number).filter(Boolean); 
  var largest = Math.max.apply(null, arr); 
  var least = Math.min.apply(null, arr); 
  var answer = `${largest} ${least}`; 
  return answer; 
} 
 
console.log(highAndLow("1 0")); //? 
console.log(highAndLow("0 -1 ")); //?  
console.log(highAndLow("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"));

Answer 1

Зачем Вы написали .filter(Boolean);, и что оно по-Вашему делает?

Посмотрим, что получается после фильтрации:

function highAndLow(numbers) { 
  var arr = numbers.split(" ").map(Number).filter(Boolean); 
  console.log(JSON.stringify(arr)); 
  /*var largest = Math.max.apply(null, arr); 
  var least = Math.min.apply(null, arr); 
  var answer = `${largest} ${least}`; 
  return answer;*/ 
} 
 
highAndLow("1 0"); 
highAndLow("0 -1 "); 
highAndLow("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6");

Чтобы отсеять "нечисла":

function highAndLow(numbers) { 
  var arr = numbers.split(" ").map(Number).filter(e => !isNaN(e)); 
  var largest = Math.max.apply(null, arr); 
  var least = Math.min.apply(null, arr); 
  var answer = `${largest} ${least}`; 
  return answer; 
} 
 
console.log(highAndLow("1 abc 0")); //? 
console.log(highAndLow("0 -1 ")); //?  
console.log(highAndLow("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"));

Answer 2

function highAndLow(numbers) { 
  var arr = numbers.split(" ").map(el => +el).filter(el => el != 0); 
  var largest = Math.max.apply(null, arr); 
  var least = Math.min.apply(null, arr); 
  var answer = `${largest} ${least}`; 
  return answer; 
} 
 
console.log(highAndLow("1 0")); //? 
console.log(highAndLow("0 -1 ")); //?  
console.log(highAndLow("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"));

READ ALSO
Как отследить статус 423 ошибки PHP?

Как отследить статус 423 ошибки PHP?

Всем привет ! Ребята помогите пожалуйста, как отловить ошибку POST 423 (Locked), она написана на PHP как abort(423), но я не могу ее отловить на JS

98
Typescript. Добавить в папку ./build файлы *.pug

Typescript. Добавить в папку ./build файлы *.pug

Имеется подобная структура проекта:

134
Uncaught ReferenceError: particlesJS is not defined at app.js:2

Uncaught ReferenceError: particlesJS is not defined at app.js:2

Подключил CDN particlesjs а также поставил defer при загрузке но ошибка все равно есть Вот код app

357
Борьба со спамом - разные методологии

Борьба со спамом - разные методологии

Есть вполне тривиальная форма посыла сообщений в администрацию веб-проектаФорма выглядит следующим образом:

123