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 相关文章推荐
用函数式编程技术编写优美的 JavaScript
Nov 25 Javascript
Javascript 判断 object 的特定类转载
Feb 01 Javascript
修改jquery.lazyload.js实现页面延迟载入
Dec 22 Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
Jan 04 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
Apr 19 Javascript
JavaScript实现多种排序算法
Feb 24 Javascript
JavaScript图像延迟加载库Echo.js
Apr 05 Javascript
js判断登陆用户名及密码是否为空的简单实例
May 16 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
Jun 05 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
Jun 14 Javascript
TypeScript类型声明书写详解
Aug 28 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
Oct 24 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
使用 php4 加速 web 传输
2006/10/09 PHP
PHP 文件编程综合案例-文件上传的实现
2013/07/03 PHP
PHP return语句的另一个作用
2014/07/30 PHP
详解PHP执行定时任务的实现思路
2015/12/21 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
node模块机制与异步处理详解
2016/03/13 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
angular动态表单制作
2018/02/23 Javascript
菊花转动的jquery加载动画效果
2018/08/19 jQuery
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
2019/05/20 Javascript
Vue+axios+WebApi+NPOI导出Excel文件实例方法
2019/06/05 Javascript
微信小程序页面渲染实现方法
2019/11/06 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
JS实现简易图片自动轮播
2020/10/16 Javascript
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
Python解决N阶台阶走法问题的方法分析
2017/12/28 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
Python实现简单石头剪刀布游戏
2021/01/20 Python
numpy concatenate数组拼接方法示例介绍
2019/05/27 Python
pandas中DataFrame修改index、columns名的方法示例
2019/08/02 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
2019/12/13 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
在职研究生自我鉴定
2013/10/16 职场文书
相亲大会策划方案
2014/06/05 职场文书
出纳试用期自我鉴定范文
2014/09/16 职场文书
大学生求职简历自我评价
2015/03/02 职场文书
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js