我想要从由“”分隔的数字组成的字符串输入中最接近 0 的数字。我按照以下方式对其进行了编码,它在第一行 temps
变量上工作但在第二行 temps
变量中没有正确运行。这里缺少什么?
<script type="text/javascript">
//var temps = "9 -2 -8 4 5"; // get 2 & correct
var temps = "-12 -5 -137"; // get -12 & not correct ,expected 5
var temp = temps.split(" ");
var closest = parseInt(temp[0]);
for(var i = 0;i < temp.length ;i++){
var t = Math.abs(temp[i]);
console.log(typeof closest) ; //number : same type
if(closest > t) {
closest = t;
}
}
console.log(closest);
</script>
最佳答案
您正在将 -12 存储在
closest variable
比较的时候你是这样做的
-12>5
这是错误的,所以你的作业
closest =t;
没有被执行。它适用于第一个输入,因为 9 被存储为最接近的变量。您可以做的是将绝对值存储为这一步中最接近的变量。
var closest = parseInt(Math.abs(temp[0]));
关于javascript - 从字符串中找到最接近 0 的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39739564/