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 相关文章推荐
使用jquery为table动态添加行的实现代码
Mar 30 Javascript
brook javascript框架介绍
Oct 10 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
Apr 02 Javascript
深入分析JSON编码格式提交表单数据
Jun 25 Javascript
bootstrap与Jquery UI 按钮样式冲突的解决办法
Sep 23 Javascript
利用Angularjs中模块ui-route管理状态的方法
Dec 27 Javascript
canvas实现环形进度条效果
Mar 23 Javascript
带你快速理解javascript中的事件模型
Aug 14 Javascript
js监听html页面的上下滚动事件方法
Sep 11 Javascript
ES6实现图片切换特效代码
Jan 14 Javascript
解决vue addRoutes不生效问题
Aug 04 Javascript
vue+Element-ui前端实现分页效果
Nov 15 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
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
php curl_init函数用法
2014/01/31 PHP
PHP实现自动识别Restful API的返回内容类型
2015/02/07 PHP
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
javascript 冒泡排序 正序和倒序实现代码
2010/12/14 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
angular简介和其特点介绍
2015/01/29 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
AngularJS实现表单验证功能详解
2017/10/12 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
layer.js之回调销毁对话框的例子
2019/09/11 Javascript
[01:32]DOTA2上海特锦赛现场采访:最想COS的英雄
2016/03/25 DOTA
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
Python操作MongoDB数据库PyMongo库使用方法
2015/04/27 Python
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
python的scikit-learn将特征转成one-hot特征的方法
2018/07/10 Python
python实现海螺图片的方法示例
2019/05/12 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
数字漫画:comiXology
2020/06/13 全球购物
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2016/01/06 面试题
迎八一活动主题
2014/01/31 职场文书
村级换届选举方案
2014/05/10 职场文书
生日庆典策划方案
2014/06/02 职场文书
预防传染病方案
2014/06/14 职场文书
无刑事犯罪记录证明
2014/09/18 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
雷峰塔导游词
2015/02/09 职场文书
红色经典电影观后感
2015/06/18 职场文书
物业公司管理制度
2015/08/05 职场文书
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL
MySQL分布式恢复进阶
2022/07/23 MySQL