【前端知识之JS】[‘1‘,‘2‘,‘3‘].map(parseInt) 输出什么?为什么?

本文探讨了在JavaScript中,数组[1,2,3].map(parseInt)的输出及其原因。文章介绍了parseInt()方法的解析规则,特别是当基数未指定时的情况,以及map()方法如何遍历数组并应用函数。通过实例解释了当parseInt接收到额外参数时导致输出1,NaN,NaN的原因。" 110871175,8547976,JavaWeb中Request对象API实战,"['servlet', 'java', 'Web开发']
摘要由CSDN通过智能技术生成

前言

本系列主要整理前端面试中需要掌握的知识点。本节介绍[‘1’,‘2’,‘3’].map(parseInt) 输出什么?为什么?


一、背景知识

早在2013年,加里·伯恩哈德就在微博上发布了一段代码:

['10','10','10','10','10'].map(parseInt); //[10,NaN,2,3,4]

这是为什么呢?这还要从parseInt 和 map两个方法说起。

1. parseInt()方法

(1)语法:parseInt(string [, radix])
在这里插入图片描述

(2)定义:parseInt() 函数可解析一个字符串,并返回一个整数。
(3)用法:当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。当忽略参数 radix , JavaScript 默认数字的基数如下:

  • 如果 string 以 “0x” 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
  • 如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
  • 如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。

(4)举例:

console.log(parseInt('10'));    //10
console.log
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值