最大和最小数Javascript错误 挑战: 您将获得一个以空格分隔的数字字符串,并且必须返回最高和最低的数字 问题: 预期为“542-214”,但实际为“6-214” 我不明白为什么系统认为6比542高。卸下6后,程序工作正常

最大和最小数Javascript错误 挑战: 您将获得一个以空格分隔的数字字符串,并且必须返回最高和最低的数字 问题: 预期为“542-214”,但实际为“6-214” 我不明白为什么系统认为6比542高。卸下6后,程序工作正常,javascript,node.js,Javascript,Node.js,代码: function highAndLow(numbers){ numbers = numbers.split(" "); var biggest = numbers[0]; for (i = 0; i < numbers.length; i++) { if (numbers[i] > biggest) { biggest = numbers[i]; } } var smallest = numbers[0]

代码:

function highAndLow(numbers){
   numbers = numbers.split(" ");
   var biggest = numbers[0];
   for (i = 0; i < numbers.length; i++) {
      if (numbers[i] > biggest) {
         biggest = numbers[i];
      }
   }
   var smallest = numbers[0];
   for (i = 0; i < numbers.length; i++) {
      if (numbers[i] < smallest) {
         smallest = numbers[i];
      }
   }
   return biggest + " " + smallest;
   }

console.log(highAndLow("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"));
功能高低(数字){
数字=数字。拆分(“”);
var最大值=数字[0];
对于(i=0;i最大值){
最大=数字[i];
}
}
var最小值=数字[0];
对于(i=0;i


这是因为它将数字作为字符串而不是数字进行比较。在比较之前,您需要使用函数将它们转换为数字,例如:

biggest = Number(numbers[0]);

你有一个字符串数组。你需要把它转换成整数。我们不需要这个问题的另一个答案。这是一个经常发布的副本。