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 Div中加载其他页面的实现代码
Feb 27 Javascript
JavaScript 对象模型 执行模型
Dec 06 Javascript
关于query Javascript CSS Selector engine
Apr 12 Javascript
javascript 10进制和62进制的相互转换
Jul 31 Javascript
jQuery 获取多选框的值及多选框中文的函数
May 16 Javascript
js+div+css下拉导航菜单完整代码分享
Dec 28 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
May 11 Javascript
iscroll.js滚动加载实例详解
Jul 18 Javascript
Angular4的输入属性与输出属性实例详解
Nov 29 Javascript
JS使用队列对数组排列,基数排序算法示例
Mar 02 Javascript
JS事件流与事件处理程序实例分析
Aug 16 Javascript
VUE+Element实现增删改查的示例源码
Nov 23 Vue.js
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学习笔记 PHP面向对象的程序设计
2011/06/13 PHP
php实现建立多层级目录的方法
2014/07/19 PHP
Laravel5中contracts详解
2015/03/02 PHP
php for 循环使用的简单实例
2016/06/02 PHP
php实现数字补零的方法总结
2018/09/12 PHP
onpropertypchange
2006/07/01 Javascript
EXT窗口Window及对话框MessageBox
2011/01/27 Javascript
jquery实现文本框数量加减功能的例子分享
2014/05/10 Javascript
深入分析原生JavaScript事件
2014/12/29 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
2018/08/30 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
Python中动态获取对象的属性和方法的教程
2015/04/09 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
python处理csv中的空值方法
2018/06/22 Python
分析python请求数据
2018/08/19 Python
python文件拆分与重组实例
2018/12/10 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
Python面向对象封装操作案例详解 II
2020/01/02 Python
Python爬虫获取豆瓣电影并写入excel
2020/07/31 Python
CSS3制作皮卡丘动画壁纸的示例
2020/11/02 HTML / CSS
全球速卖通西班牙站:AliExpress西班牙
2017/10/30 全球购物
职高毕业生自我鉴定
2013/10/21 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
Python Pandas 删除列操作
2022/03/16 Python
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL