3 回答
TA贡献1871条经验 获得超8个赞
您将数字排序为字符串,而不是数字。
用于parseInt转换它们。
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条经验 获得超0个赞
您可以省略映射并使用增量进行排序。这会将字符串数字转换为数字。
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条经验 获得超13个赞
您可以a - b在排序函数中使用,以便将字符串转换为数字进行排序。
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');
添加回答
举报