第二天:['1', '2', '3'].map(parseInt) 解析
<h4>题目:['1', '2', '3'].map(parseInt)</h4>
<p>第一眼看到这个题目的时候:[1,2,3]</p>
<pre><code>首先了解一下map函数:他的第一个参数是callback:
// map(function(value,index){})
//参数1:数组的值 value
//参数2:数组的索引 index
let g = ['nihao','judy',12];
let g1 = g.map( (value,index) =>{
return index + ':' +value;
})
console.log(g1) //["0:nihao", "1:judy", "2:12"]
第二:了解一下parseInt则是用来解析字符串的,是字符串成为指定基数的整数
pasrseInt(string,radix)
//string:处理的字符串
//radix: 解析时的基数
parseInt('1', 0) //radix为0时,且string参数不 以“0x”和“0”开头时,按照10为基数处理。这个时候返回1
parseInt('2', 1) //基数为1(1进制)表示的数 中,最大值小于2,所以无法解析,返回NaN
parseInt('3', 2) //基数为2(2进制)表示的数中,最大值小于3,所以无法解析,返回NaN
所以map函数最后返回的是一个数组 ,结果:【1,NaN,NaN】
let d = parseInt('10',1);
console.log(d) //NaN // parseInt基数是基于2至36之间的整数
let c = ['10','10','10','10','10'].map(parseInt);
console.log(c) // [10, NaN, 2, 3, 4];
let Q = parseInt(100, 2);
console.log(Q) //4
let W = parseInt(4,2);
console.log(W) //NaN 除10/100的字符串,其余的基数小于字符数,则返回NaN</code></pre>