javascript - 从字符串中找到最接近 0 的数字?

标签 javascript

我想要从由“”分隔的数字组成的字符串输入中最接近 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/

相关文章:

javascript - jquery确认密码验证

javascript - 我如何使用 jQuery 来确定点击事件是否在特定元素内触发?

javascript - 将对象推送到数组,该数组是数组 Mongoose 中对象的字段

javascript - 单击上一个或继续按钮时更改选项卡样式

javascript - 如果我尝试访问一个未定义或继承的属性,它返回空字符串。为什么会有这样的行为?

javascript - 如何检查 Gatsby 中的前题是否为空

javascript - 如何使用 LatLng 数据放大 LatLngBounds 框

javascript - 在 JQuery 中找到内容后如何运行函数

javascript - 在多个条件下使用 ngclass

javascript - 按 2 个属性对对象数组进行排序