必威体育Betway必威体育官网
当前位置:首页 > IT技术

javascript 判断参数是否为非0整数数字或者整数数字字符串的简单方法(小装逼)

时间:2019-08-13 21:11:03来源:IT技术作者:seo实验室小编阅读:79次「手机版」
 

0是不是整数

javascript 判断参数是否为非0整数数字或者整数数字字符串的简单方法(小装逼)

我们来判断一个值是否为数字,可以把它转化为数字,看是否为NaN 然后,再判断是否等于0即可简单的来实现判断了。

所以,代码如下

(num) => {
  if (!isNaN(parseInt(num))){
    if (num !== 0) {
      // do something
    }
  }
}

逻辑非常清楚。但是有点冗余。其实 isNaN 对于非数字的输出都是 true ,所以,代码可以修改为:

(num) => {
  if (!isNaN(num)){
    if (num !== 0) {
      // do something
    }
  }
}

好一点,但是两层判断,感觉恶心。所以继续优化

(num) => {
  if (!isNaN(num) && parseInt(num) !== 0){
    // do something
  }
}

去掉一层循环,好了很多。但是这个代码还是感觉恶心。能不能再优化一下呢?

(num) => {
  if (!!+num) {
    // do something
  }
}

看不懂了,得解释以下, + 可以把任何东西变成 数字或者 NaN ,而如果值等于0,转化为布尔值也是为false,所以,判断可以合并为 !!+num 即可。

看上去不错,换个思路,既然 0 是false 那么我们能不能把所有的非数字或者数字字符串的内容变成 0 呢?代码出炉:

(num) => {
  if (~~num) {
    // do something
  }
}

这里用了两个字符,比上面的三个字符更加精简了。我们能不能用一个字符来实现呢?可以。判断条件是可以自动转化为布尔值的。所以,上上个例子中的 !!是多余的。

(num) => {
  if (+num) {
    // do something
  }
}

请谨慎在项目中使用这样的代码,挨打不要找我。

本文由FungLeo原创,允许转载,但转载必须附带首发链接。

相关阅读

产品经理是否需要会设计?

产品设计是产品组成的一项重要部分,因此对于产品而言,视觉设计并非完全交付于设计师,对于产品经理本身而言也需略懂一二。本篇文章是

excel利用IF判断条件是否成立的方法步骤详解

excel怎么利用IF判断条件是否成立?在Excel工作表中,灵活使用各种输入技巧,简捷快速地输入信息,提高工作效率;IF判断函数,用来判断

SWOT分析是否必需有竞品来参照?

看到很多SWOT分析,竞争对手都没有,居然出来报告了。深深不解。网上也没有找到特别让我满意的说法。虽然swot分析法现在好像过时了,但

留存困难?你是否忽略了复购的分析

影响复购率的因素主要是:商品质量、服务质量、物流体验(效率、服务),对于部分o2o类公司可能只剩下服务。最根本的原因,就是用户在花钱

【思维方式】如何判断一个产品是“好”产品?

很多场合下,产品经理都会被问到一个经典问题–什么样的产品才算是个好产品?今天我来尝试做下回答:个人觉得关于“好,坏”的判断

分享到:

栏目导航

推荐阅读

热门阅读