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 29 Javascript
iframe父页面获取子页面参数的方法
Feb 21 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
May 27 Javascript
使用VS开发 Node.js指南
Jan 06 Javascript
jquery遍历json对象集合详解
May 18 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
Dec 28 Javascript
基于JavaScript实现的顺序查找算法示例
Apr 14 Javascript
微信小程序tabbar不显示解决办法
Jun 08 Javascript
swiper插件自定义切换箭头按钮
Dec 28 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
Jul 25 Javascript
详解vue父子组件关于模态框状态的绑定方案
Jun 05 Javascript
jQuery zTree树插件的使用教程
Aug 16 jQuery
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学习之数据类型之间的转换代码
2011/05/29 PHP
PHP获取url的函数代码
2011/08/02 PHP
php遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
PHP+MYSQL实现用户的增删改查
2015/03/24 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
php原生导出excel文件的两种方法(推荐)
2016/11/19 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
关于js内存泄露的一个好例子
2013/12/09 Javascript
JavaScript实现找出数组中最长的连续数字序列
2014/09/03 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
Javascript实现单张图片浏览
2014/12/18 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
2018/11/20 Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
2019/03/04 Javascript
layui数据表格重载实现往后台传参
2019/11/15 Javascript
使用Vue实现简单计算器
2020/02/25 Javascript
400多行Python代码实现了一个FTP服务器
2012/05/10 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
python 如何快速找出两个电子表中数据的差异
2017/05/26 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
pycharm下pyqt4安装及环境配置的教程
2020/04/24 Python
深入了解Python 方法之类方法 &amp; 静态方法
2020/08/17 Python
Django框架请求生命周期实现原理
2020/11/13 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
2020/12/08 Python
C语言面试题
2015/10/30 面试题
师范院校学生自荐信范文
2013/12/27 职场文书
材料加工工程求职信
2014/02/19 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
二婚主持词
2015/06/30 职场文书
2015国庆节宣传语
2015/07/14 职场文书