[‘12‘, ‘13‘, ‘14‘].map(parseInt) what & why

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

[‘12’, ‘13’, ‘14’].map(parseInt) what & why


一、map和parseInt?

map的使用
map中传入一个函数

  ['12', '13', '14'].map(function (item, index, arr) {
    window.console.log('item-当前元素值', item);
    window.console.log('index-当前元素的索引值', index);
    window.console.log('arr-当前元素属于的数组对象', arr);
  })
  ['12', '13', '14'].map(console.log);
  // 等价于
  ['12', '13', '14'].map(function (item, index, arr) {
	return console.log(item, index, arr)
  });

parseInt方法接收两个参数,parseInt(string,radix?);
string:要被解析的值。如果参数不是一个字符串,则将其转换为字符串(toString)。字符串开头的空白符将会被忽略。
radix:可选。从 2 到 36,表示被解析的值的进制。例如说指定 10 就等于指定十进位。
基本用法:
1.当只接收一个参数,将字符串转为整数。如果字符串的第一个字符不能转化为数字(后面跟着数字的正负号除外),返回NaN

  parseInt('11') // 11
  parseInt('12') // 12
  parseInt('13') // 13
  parseInt('13abc') // 13
  parseInt('abc13') // NaN
  parseInt('abc13abc') // NaN

2.进制转换(接收两个参数),parseInt方法还可以接受第二个参数(2到36之间),表示被解析的值的进制,返回该值对应的十进制数。默认情况下,parseInt的第二个参数为10,即默认是十进制转十进制。
a.第一个参数解析规则参照第一条基本用法
b.如果第二个参数不是数值,会被自动转为一个整数。这个整数只有在2到36之间,才能得到有意义的结果,超出这个范围,则返回NaN。如果第二个参数是0、undefined和null,则直接忽略。

  parseInt('11', 2) // 3 11以二进制转换为十进制
  parseInt('11', 4) // 5 11以四进制转换为十进制
  parseInt('11', 8) // 9 11以八进制转换为十进制
  parseInt('11', 10) // 11 11以十进制转换为十进制

  parseInt('11', 0) // 11 以十进制转换为十进制
  parseInt('11', undefined) // 11 以十进制转换为十进制
  parseInt('11', null) // 11 以十进制转换为十进制
  parseInt('11', 1) // 没有1进制 NaN
  parseInt('11', 37) // 无法转换 NaN
  parseInt('13', 2) // 取可以被解析之前的数 1
  parseInt('35', 4) // 取可以被解析之前的数 3
  parseInt('15J', 10) // 取可以被解析之前的数 15
  parseInt('11', 1) // 没有1进制 NaN
  parseInt('11', 37) // 无法转换 NaN
  parseInt('31', 2) // 二进制中没有3 无法转换 NaN
  parseInt('51', 4) // 四进制中没有5 无法转换 NaN
  parseInt('J15', 10) // 十进制中没有J 无法转换 NaN

  parseInt('11', 0) // 11以十进制转换为十进制 11
  parseInt('13', 1) // 没有1进制 NaN
  parseInt('14', 2) // 取可以被解析之前的数 1

总结

[‘12’, ‘13’, ‘14’].map(parseInt)

  ['12', '13', '14'].map(parseInt);
  // 等价于
  ['12', '13', '14'].map(function (item, index, arr) {
    return parseInt(item, index, arr)
  });
  parseInt('12', 0) // 12以十进制转换为十进制 12
  parseInt('13', 1) // 没有1进制 NaN
  parseInt('14', 2) // 取可以被解析之前的数 1
  // 结果
  [12, NaN, 1]

看完觉得有用,点个赞哦

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值