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 相关文章推荐
jQuery实现多按钮单击变色
Nov 27 Javascript
JavaScript实现简单图片翻转的方法
Apr 17 Javascript
animate 实现滑动切换效果【实例代码】
May 05 Javascript
angularJS之$http:与服务器交互示例
Mar 17 Javascript
JS中cookie的使用及缺点讲解
May 13 Javascript
详解React中的组件通信问题
Jul 31 Javascript
基于iScroll实现内容滚动效果
Mar 21 Javascript
微信小程序实现手指触摸画板
Jul 09 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
Jan 29 Javascript
详解微信小程序自定义组件的实现及数据交互
Jul 22 Javascript
微信小程序 textarea 层级过高问题简单解决方案
Oct 14 Javascript
Vue 3.0 全家桶抢先体验
Apr 28 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实现监控varnish缓存服务器的状态
2014/12/30 PHP
php构造函数的继承方法
2015/02/09 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
yii2 url重写并隐藏index.php方法
2018/12/10 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
Thinkphp 框架扩展之驱动扩展实例分析
2020/04/27 PHP
js类型转换与引用类型详解(Boolean_Number_String)
2014/03/07 Javascript
Javascript技术栈中的四种依赖注入小结
2016/02/27 Javascript
JS生成一维码(条形码)功能示例
2017/01/19 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
详解Angular4中路由Router类的跳转navigate
2017/06/09 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
用python处理图片之打开\显示\保存图像的方法
2018/05/04 Python
Python面向对象之静态属性、类方法与静态方法分析
2018/08/24 Python
python flask 如何修改默认端口号的方法步骤
2019/07/12 Python
Python 硬币兑换问题
2019/07/29 Python
Python对象的属性访问过程详解
2020/03/05 Python
Python Dataframe常见索引方式详解
2020/05/27 Python
Keras在训练期间可视化训练误差和测试误差实例
2020/06/16 Python
python 如何将office文件转换为PDF
2020/09/22 Python
澳大利亚人信任的清洁平台,您的私人管家:Jarvis
2020/12/25 全球购物
三年级数学教学反思
2014/01/31 职场文书
运动会通讯稿200字
2014/02/16 职场文书
现场施工员岗位职责
2014/03/10 职场文书
广告词串烧
2014/03/19 职场文书
奠基仪式主持词
2014/03/20 职场文书
初中升旗仪式演讲稿
2014/05/08 职场文书
2015年纪检监察工作总结
2015/04/08 职场文书
2016年大学生社会实践心得体会
2015/10/09 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
如何用JS实现简单的数据监听
2021/05/06 Javascript
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL