["1", "2", "3"].map(parsent)

parseInt()函數(shù)解析一個字符串參數(shù),并返回一個指定基數(shù)的整數(shù)。

const initValue = parseInt(string[, radix])

string是要被解析的值。如果參數(shù)不是一個字符串,則通過toString()將其轉(zhuǎn)成字符串,字符串開頭的空白符將會被忽略。
radix是一個介于2到36之間的整數(shù),表示上述字符串的基數(shù),默認為10。
返回值返回一個整數(shù)或NaN。

注意:
在radix為 undefined,或者radix為 0 或者沒有指定的情況下,JavaScript 作如下處理:

  • 如果字符串 string 以"0x"或者"0X"開頭, 則基數(shù)是16 (16進制).
  • 如果字符串 string 以"0"開頭, 基數(shù)是8(八進制)或者10(十進制),那么具體是哪個基數(shù)由實現(xiàn)環(huán)境決定。ECMAScript 5 規(guī)定使用10,但是并不是所有的瀏覽器都遵循這個規(guī)定。因此,永遠都要明確給出radix參數(shù)的值。
  • 如果字符串 string 以其它任何值開頭,則基數(shù)是10 (十進制)。

map
map()方法創(chuàng)建一個新數(shù)組,其結(jié)果是該數(shù)組中的每個元素都調(diào)用一個提供的函數(shù)后返回的結(jié)果。

var new_array = arr.map((currentValue[, index[, array]]) => {}[, thisArg])

回調(diào)函數(shù)接收三個參數(shù),通常只是用第一個(其它兩個是可選的)。
currentValue是callback數(shù)組中正在處理的當前元素。
index可選,是callback數(shù)組中正在處理的當前元素的索引。
array可選,是callbak map方法調(diào)用的數(shù)組。
另外還有thisArg可選, 執(zhí)行 callback 函數(shù)時使用的this 值。

const arr = [1, 2, 3];
arr.map((num) => num + 1); // [2, 3, 4]

回到當前的示例中:
代碼

['1', '2', '3'].map(parseInt)

實際執(zhí)行的是

['1', '2', '3'].map((item, index) => {
    return parseInt(item, index)
})

即返回值實際是:

parseInt('1', 0)  // 1
parseInt('2', 1)  // NaN
parseInt('3', 2)  // NaN, 3 不是二進制
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容