3 回答

TA貢獻1871條經(jīng)驗 獲得超8個贊
您將數(shù)字排序為字符串,而不是數(shù)字。
用于parseInt轉(zhuǎn)換它們。
function highAndLow(numbers) {
let sort;
let result = "";
let array = numbers.split(" ").map(n => parseInt(n, 10)); // this map makes them numbers
sort = array.sort((a, b) => {
if (a > b) {
return 1;
} else return -1;
});
result = sort[sort.length - 1] + " " + sort[0];
alert(sort);
alert(result);
}

TA貢獻1155條經(jīng)驗 獲得超0個贊
您可以省略映射并使用增量進行排序。這會將字符串?dāng)?shù)字轉(zhuǎn)換為數(shù)字。
function highAndLow(numbers) {
let array = numbers
.split(' ')
.sort((a, b) => a - b);
console.log(array[array.length - 1] + ' ' + array[0]);
}
highAndLow('3 4 6 8 2 3 5 6 1 0'); // result: 0,1,2,3,3,4,5,6,6,8
highAndLow('99 8 7 6 5 3 8 9 0 0 1 9'); //result: 0,0,1,3,5,6,7,8,8,9,9,99
highAndLow('-3 -4 1 9 8 -8 1 2 -11'); //result: -11,-3,-4,-8,1,1,2,8,9

TA貢獻1871條經(jīng)驗 獲得超13個贊
您可以a - b在排序函數(shù)中使用,以便將字符串轉(zhuǎn)換為數(shù)字進行排序。
function highAndLow(numbers) {
let sort;
let result = '';
let array = numbers.split(' ');
sort = array.sort((a, b) => a - b);
result = sort[sort.length - 1] + ' ' + sort[0];
console.log(...sort);
console.log(result);
}
highAndLow('3 4 6 8 2 3 5 6 1 0');
highAndLow('99 8 7 6 5 3 8 9 0 0 1 9');
highAndLow('-3 -4 1 9 8 -8 1 2 -11');
添加回答
舉報