javascript如何转换int型(浅谈JavaScript中的parseInt的妙用)
类别:编程学习 浏览量:304
时间:2021-10-10 00:59:48 javascript如何转换int型
浅谈JavaScript中的parseInt的妙用起因写这篇博客的起因是今天在刷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()内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
您可能感兴趣
- javascript基础语法和用法(JavaScript中new操作符的原理示例详解)
- 生成随机数javascript(JavaScript实现随机生成验证码及校验)
- js的模块模式设计(如何理解JavaScript模块化)
- js防抖用法(JavaScript的防抖和节流案例)
- js搜索功能的实现(前端JavaScript实现本地模糊搜索功能的方法实例)
- javascript的作用域详解精简版(浅谈JavaScript 中的延迟加载属性模式)
- JavaScript将具有父子关系的数据转化成树形结构,供tree控件使用
- javascript弹出菜单(Javascript实现简易导航栏)
- html基础知识javascript(JavaScript+html实现前端页面滑动验证)
- javascript如何判断类型(JavaScript如何优化逻辑判断代码详解)
- javascript中图片轮播效果代码(JavaScript实现简单的轮播图效果)
- ASP.NET使用JavaScriptSerializer实现序列化与反序列化
- JavaScript中==和===的区别
- javascript 函数生命周期(JavaScript sleep睡眠函数的使用)
- javascript函数的递归调用记得加上return
- pyqt5加载chrome浏览器(PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例)
- 臭名昭著的731部队最高负责人 石井四郎(臭名昭著的731部队最高负责人)
- 王牌部队,你看的剧情我看的时尚(你看的剧情我看的时尚)
- 被鉴定的古董价值300万 当心,你可能遇到诈骗了(被鉴定的古董价值300万)
- 英语难学吗(初中英语难学吗)
- 如何追女孩子(如何追女孩子的技巧和方法)
- 是不是快乐全被你拿走了(而是你得到的)
热门推荐
- php 支付系统(php 实现银联商务H5支付的示例代码)
- nginx启动报错连接失败(宝塔面板Nginx环境中出现404 Not Found的解决方法)
- python操作sql server数据库(Python 数据库操作 SQLAlchemy的示例代码)
- 小程序实现购物车功能前后端代码(小程序实现购物车完整版)
- sqlserver基础查询语句(SQL Server子查询的深入理解)
- 安装apache服务器配置(Apache 配置详解最好的APACHE配置教程)
- python常见知识点整理(Python基础知识点 初识Python.md)
- php 记录的已读状态(PHP使用观察者模式处理异常信息的方法详解)
- dedecms二级菜单(dedecms5.7使tag调用的标签正序排列的方法)
- 云服务器系统怎么选择(云服务器选择什么操作系统?)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9