JS中parseInt()和map()用法分析


Posted in Javascript onDecember 16, 2016

本文实例讲述了JS中parseInt()和map()用法。分享给大家供大家参考,具体如下:

parseInt()的几个例子

var b = parseInt("01");
alert("b="+b);
var c = parseInt("09/08/2009");
alert("c="+c);

结果:b=1,c=0

parseInt()用来解析字符串,返回整数,有几个特点:

1.无视被解析字符串最前和最后的空格,即:" 111 "和"111"是一样的

2.正规格式是parseInt(string,radix)

第一个参数是被解析的字符串,第二个参数是进制(可不些)

第二个参数的特点:

①如果radix省略或为0,则按默认进制(十进制)进行解析

②radix为2~36之间的整数,如果在这个范围之外,返回NaN

③string的首字符为0,则默认解析为8进制。string首字符为0x(0X)则默认解析为16进制。其他情况默认为10进制。

④最好加上第二个参数,不然即使碰到首字符为0,应该以8进制方式进行,在某些浏览器下,如ff也会按10进制进行

3.解析从第一个可以解析的字符开始,到第一个不能解析的字符(如空格,标点符号等)结束。后面的字符不再解析。如果第一个字符就不可以解析,则返回NaN。

回到此题来分析

b的首字母是0,按8进制解析后面的数值,也就是8进制的1。自然返回值为1。<br>c的首字母是0,按8进制解析后面的数值,但是第二个字符9已经不是8进制数,也就是9是第一个不能解析的字符,parseInt("09/08/2009")相当于parseInt("0"),自然返回值是0<br>注:8也不是8进制数,最大到7

变形:

var c = parseInt("0119/08/2009");
alert("c="+c);

分析:

相当于parseInt("011"),0*8^2+1*8^1+1*8^0=0+8+1=9,输出结果为c=9
parseFloat()和parseInt()

parseInt()可以带参数,指定二进制、八进制或者十六进制(默认十进制),而parseFloat()不带参数,不能解析八进制、十六进制数,就只能按十进制进行。

再来看parseInt()和.map()结合的例子

["1", "2", "3"].map(parseInt) 返回值又是多少呢

map方法

array1.map(callbackfn[, thisArg])

对数组的每个元素,调用定义的回调函数,返回一个数组包含结果

参数:

array1 必须。一个数组对象
callbackfn 必须。最多接受三个参数(数组元素的值,数组元素的索引,包含该元素的数组对象)的回调函数
thisArg 可选。

即原例子相当于

[parseInt("1",0),parseInt("2",1),parseInt("3",2)]

分析:

1按十进制转换输出1
1不在2~36之间,输出NaN
字符串”3“里面没有合法的二进制数,输出NaN
所以最后结果是[1,NaN,NaN]

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
用json方式实现在 js 中建立一个map
May 02 Javascript
值得分享和收藏的Bootstrap学习教程
May 12 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
Jun 28 Javascript
js利用appendChild对标签进行排序的实现方法
Oct 16 Javascript
JS实现页面跳转参数不丢失的方法
Nov 28 Javascript
H5实现中奖记录逐行滚动切换效果
Mar 13 Javascript
jQuery dateRangePicker插件使用方法详解
Jul 28 jQuery
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
Jan 08 Javascript
vue input实现点击按钮文字增删功能示例
Jan 29 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
Apr 11 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
Sep 19 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
Sep 23 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
Dec 16 #Javascript
JS数字千分位格式化实现方法总结
Dec 16 #Javascript
jquery插件锦集【推荐】
Dec 16 #Javascript
jQuery Easyui 下拉树组件combotree
Dec 16 #Javascript
JS实现字符串转驼峰格式的方法
Dec 16 #Javascript
详解js数组的完全随机排列算法
Dec 16 #Javascript
JS返回只包含数字类型的数组实例分析
Dec 16 #Javascript
You might like
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
PHP中if和or运行效率对比
2014/12/12 PHP
PHP+JQuery+Ajax实现分页方法详解
2016/08/06 PHP
PHP实现的解汉诺塔问题算法示例
2018/08/06 PHP
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
NodeJS远程代码执行
2016/08/28 NodeJs
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
解决vue接口数据赋值给data没有反应的问题
2018/08/27 Javascript
nodejs图片处理工具gm用法小结
2018/12/12 NodeJs
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
python实现发送邮件功能
2017/07/22 Python
Python使用base64模块进行二进制数据编码详解
2018/01/11 Python
python3利用tcp实现文件夹远程传输
2018/07/28 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
flask实现验证码并验证功能
2019/12/05 Python
使用pytorch完成kaggle猫狗图像识别方式
2020/01/10 Python
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
个人找工作求职简历的自我评价
2013/10/20 职场文书
幼儿教师寄语集锦
2014/04/03 职场文书
机械设备与数控技术专业求职信
2014/08/10 职场文书
公司踏青活动方案
2014/08/16 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
文明上网主题班会
2015/08/14 职场文书
2016年党建工作简报
2015/11/26 职场文书
什么是求职信?求职信应包含哪些内容?
2019/08/14 职场文书
python自动化测试通过日志3分钟定位bug
2021/11/20 Python