JS实现手写parseInt的方法示例


Posted in Javascript onSeptember 24, 2017

前言

本文主要给大家介绍了关于JS实现手写parseInt的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

手写parseInt的实现:要求简单一些,把字符串型的数字转化为真正的数字即可,但不能使用JS原生的字符串转数字的API,比如Number()

示例代码

function _parseInt(str, radix) {
 let str_type = typeof str;
 let res = 0;
 if (str_type !== 'string' && str_type !== 'number') {
  // 如果类型不是 string 或 number 类型返回NaN
  return NaN
 }

 // 字符串处理
 str = String(str).trim().split('.')[0]
 let length = str.length;
 if (!length) {
  // 如果为空则返回 NaN
  return NaN
 }

 if (!radix) {
  // 如果 radix 为0 null undefined
  // 则转化为 10
  radix = 10;
 }
 if (typeof radix !== 'number' || radix < 2 || radix > 36) {
  return NaN
 }

 for (let i = 0; i < length; i++) {
  let arr = str.split('').reverse().join('');
  res += Math.floor(arr[i]) * Math.pow(radix, i)
 }

 return res;
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
CheckBox 如何实现全选?
Jun 23 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
Dec 08 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
Mar 01 Javascript
Jquery uploadify上传插件使用详解
Jan 13 Javascript
JavaScript知识点总结之如何提高性能
Jan 15 Javascript
JavaScript生成带有缩进的表格代码
Jun 15 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
Sep 19 Javascript
jquery实现左右轮播图效果
Sep 28 jQuery
浅谈JsonObject中的key-value数据解析排序问题
Dec 06 Javascript
layer.open的自适应及居中及子页面标题的修改方法
Sep 05 Javascript
bootstrap+spring boot实现面包屑导航功能(前端代码)
Oct 09 Javascript
vue 修改 data 数据问题并实时显示操作
Sep 07 Javascript
Js利用console计算代码运行时间的方法示例
Sep 24 #Javascript
详解Web使用webpack构建前端项目
Sep 23 #Javascript
vue webuploader 文件上传组件开发
Sep 23 #Javascript
jQuery使用zTree插件实现可拖拽的树示例
Sep 23 #jQuery
一个有意思的鼠标点击文字特效jquery代码
Sep 23 #jQuery
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 #jQuery
VsCode新建VueJs项目的详细步骤
Sep 23 #Javascript
You might like
用PHP进行MySQL删除记录操作代码
2008/06/07 PHP
php通过分类列表产生分类树数组的方法
2015/04/20 PHP
PHP中通过trigger_error触发PHP错误示例
2015/06/23 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
php自动加载代码实例详解
2021/02/26 PHP
零基础学JavaScript最新动画教程+iso光盘下载
2008/01/22 Javascript
情人节之礼 js项链效果
2012/02/13 Javascript
基于jquery ajax 用户无刷新登录方法详解
2012/04/28 Javascript
js操作IE浏览器弹出浏览文件夹可以返回目录路径
2014/07/14 Javascript
js创建对象的方式总结
2015/01/10 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
javascript实现的闭包简单实例
2015/07/17 Javascript
JS实现可展开折叠层的鼠标拖曳效果
2015/10/09 Javascript
JS中的BOM应用
2018/02/02 Javascript
React中的render何时执行过程
2018/04/13 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
JavaScript高阶教程之“==”隐藏下的类型转换
2019/04/11 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
[07:54]DOTA2-DPC中国联赛 正赛 iG vs VG 选手采访
2021/03/11 DOTA
Python计算回文数的方法
2015/03/11 Python
Python3 加密(hashlib和hmac)模块的实现
2017/11/23 Python
python放大图片和画方格实现算法
2018/03/30 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
2018/04/02 Python
Win8下python3.5.1安装教程
2020/07/29 Python
Python列表与元组的异同详解
2019/07/02 Python
Python完全识别验证码自动登录实例详解
2019/11/24 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
西尔斯百货官网:Sears
2016/09/06 全球购物
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
STP的判定过程
2012/10/01 面试题
医药公司采购员岗位职责
2014/09/12 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
惊涛骇浪观后感
2015/06/05 职场文书
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电
python缺失值填充方法示例代码
2022/12/24 Python