您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax |

浅谈JavaScript中的parseInt()的妙用

51自学网 2022-05-02 21:36:26
  javascript

起因

写这篇博客的起因是今天在刷leetcode的每日一题,是一道字符串转换整数 (atoi)的题,感兴趣的话可以点击题目名称去看一下具体描述。在我多次debug终于成功提交之后,去评论区看了一下大佬们的解题思路,看完之后不禁感叹javascript中原来parseInt( )已经这么优秀了啊。这告诉我了一个道理,我们自认为再熟悉不过的api,可能我们并没有真正意义上的掌握。”

我的解答

/** * @param {string} str * @return {number} */var myAtoi = function(str) {    str = str.trim();    //截取字符串第一个字符    var firstChar = str.charAt(),res = '',regSymbol = /^[/-/+]{1}/,regNumber = /^[0-9]{1}/;    if(!regSymbol.test(firstChar) && !regNumber.test(firstChar)){        return 0;    }    //第一个字符为+或者-    if(regSymbol.test(firstChar)){        var sliceStr = str.slice(1,str.length);        for(var i=0;i<sliceStr.length;i++){            if(regNumber.test(sliceStr.charAt(i))){                res += sliceStr.charAt(i);            }else{                break;            }        }                (res.length) ? res = parseInt(firstChar + res) : res = 0;        if(firstChar == '-' && res < Math.pow(-2,31)){            res = Math.pow(-2,31);        }        if(firstChar == '+' && res > Math.pow(2,31) - 1){            res = Math.pow(2,31) - 1;        }        return res;    }    //第一个字符为数字    if(regNumber.test(firstChar)){        var sliceStr = str;        for(var i=0;i<sliceStr.length;i++){            if(regNumber.test(sliceStr.charAt(i))){                res += sliceStr.charAt(i);            }else{                break;            }        }        if(parseInt(res) > Math.pow(2,31) - 1){            res = Math.pow(2,31) - 1;        }        return res;    }};

 大佬的解答

/** * @param {string} str * @return {number} */var myAtoi = function(str) {    const number = parseInt(str, 10);    if(isNaN(number)) {        return 0;    } else if (number < Math.pow(-2, 31) || number > Math.pow(2, 31) - 1) {        return number < Math.pow(-2, 31) ? Math.pow(-2, 31) : Math.pow(2, 31) - 1;    } else {        return number;    }};

通过对比,我们了解到javascript中的parseInt()已经做了截取空字符串、首字母判断、number类型结果返回等一系列操作。刚好与今天的每日一题的需求完美契合,使用parseInt()来解决这个题目简直不要太爽。

到此这篇关于浅谈JavaScript中的parseInt()的妙用的文章就介绍到这了,更多相关JavaScript parseInt()内容请搜索wanshiok.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持wanshiok.com!


iview 权限管理的实现
uniapp封装小程序雷达图组件的完整代码
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1