首先整個題目考校的是兩個函數,和一個字符串轉數字的概念
map
函數,接受三個參數,當前值,當前索引,當前數組。parseInt接受兩個參數,須要轉換的字符串,基數(基數取值範圍2~36)javascript
var new_array = arr.map(function callback(currentValue, index, array) { // Return element for new_array }) parseInt(string, radix)
根據上面的兩個函數的解釋,咱們能夠發現實際上,上面的['1','2','3'].map(parseInt)
其實就是等價於下面的代碼。java
['1','2','3'].map((item, index) => { return parseInt(item, index) }) // parseInt('1', 0) 1 // parseInt('2', 1) NaN // parseInt('3', 2) NaN
若是咱們須要返回1,2,3須要怎麼辦?數組
function parseIntFun(item) { return parseInt(item, 10) } ['1','2','3'].map(parseIntFun) // parseInt('1', 10) 1 // parseInt('2', 10) 2 // parseInt('3', 10) 3