我有一个函数,它接受一串数字并返回最大和最小的数字。
功能:
function highAndLow(numbers){
var split = numbers.split(' ').map(Number);
var min = Math.min.apply(null, split).toString()
var max = Math.max.apply(null, split).toString()
var empty = ""
var x = empty.concat(max, min).split("").join("");
return x
}
highAndLow("1 9 3 4 -5"); // return "9 -5"
问题是目前它返回“9-5”
,我需要它返回“9 -5”
最佳答案
您不需要拆分
和合并
。只需使用 concat
添加空格即可。
function highAndLow(numbers) {
var split = numbers.split(' ').map(Number);
var min = Math.min.apply(null, split).toString()
var max = Math.max.apply(null, split).toString()
var x = max.concat(" ", min);
return x
}
console.log(highAndLow("1 9 3 4 -5"));
或者使用现代功能的更简洁的代码版本是:
function highAndLow(numbers) {
var split = numbers.split(' ');
return "" + Math.max(...split) + " " + Math.min(...split);
}
console.log(highAndLow("1 9 3 4 -5"));
无需.map
到Number
,因为min
和max
将为您完成转换。我使用展开语法来传递数组,但如果您不针对旧实现进行转译,则可以使用 .apply
。
关于javascript - 如何在第一个数字后添加空格(Javascript,.split),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47608793/