Здравствуйте.Застрял на задаче по js.
In this little assignment you are given a string of space separated numbers, and have to return the highest and lowest number.
Examples
highAndLow("1 2 3 4 5"); // return "5 1"
highAndLow("1 2 -3 4 5"); // return "5 -3"
highAndLow("1 9 3 4 -5"); // return "9 -5"
Мой вариант решения(кривой-косой, но да ладно):
function highAndLow(numbers){
if (typeof(numbers) != 'undefined' && numbers != null) {
let ArrNumbers1 = [numbers.replace(/\s/g, '')]; // чтобы убрать все пробелы
let ArrNumbers2 = (""+ArrNumbers1).split("").map(Number); // отдельно получить []
let res1 = [Math.max(...ArrNumbers2)];
let res2 = [Math.min(...ArrNumbers2)];
let res3 = [...res1, ...res2];
let res4 = res3.toString('').replace(/(,)/gi, '');
return res5 = (""+res4).split("").map(Number).toString('').replace(/(,)/gi, ' ');
} else if (numbers ==undefined) {
return res = undefined;
} else if (numbers ==NaN) {
return res = NaN;
}
}
На 4 строчке кода возникает такая проблема: знак "-" заменяется на NaN(можно в любой IDE потестить), впринципе логично...Но мне же нужно получить массив с целочисленными цифрами(в том числе и с отрицательными).Как решить эту проблему?Подскажите пожалуйста.