这个题最开始呢自己并不清楚map()函数和parseInt的详细用法.
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/parseInt
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map
已经贴上了Arry.prototype.map()和parseInt()的MDN地址.
语法
var new_array = arr.map(function callback(currentValue[, index[, array]]) {
// Return element for new_array
}[, thisArg])
/*@param {String} string 要转成整形的字符串,如果不是字符串,会自动转成字符串
*@param {String} radix 当前提供的数字型字符串的基数(进制) 取值[2-36]
*/
parseInt(string, radix);
看了之后自己一直懵逼的是:['1', '2', '3'].map(parseInt)等价于[parseInt('1',0), parseInt('2',1), parseInt('3',2)]
这里是怎么回事.
parseInt()函数的两个参数是如何得到的?
后面理理:map一定
会向回调函数传入三个参数,至于回调函数用不用得上就是另一回事了;这里parseInt()接收两个参数:当前值和索引
所以 ['1', '2', '3'].map(parseInt)
和 [parseInt('1',0), parseInt('2',1), parseInt('3',2)]
是等价的
这里答案: [0,NaN,NaN]