原題: ['1', '2', '3'].map(parseInt);
第一次分解:
['1', '2', '3'].map((item, index) => { return parseInt(item, index) }) 第二次分解 parseInt('1', 0) // 1 parseInt('2', 1) // NaN parseInt('3', 2) // NaN, 3 不是二進制 結果 ['1', '2', '3'].map(parseInt) // 1, NaN, NaN
-
array.map(function(currentValue,index,arr))
- currentValue: 必須,循環到的數組的當前值
- index: 可選,循環到的數組的當前值的索引
- arr: 可選,當前元素所屬的數組對象,即調用這個方法的array
- parseInt("要轉換的字符串", 進制基數radix)
- 進制基數:可以是 2,8,10,16,默認以 10 進制處理
-
在
radix
為 undefined,或者radix
為 0 或者沒有指定的情況下,JavaScript 作如下處理:- 如果字符串 string 以"0x"或者"0X"開頭, 則基數是16 (16進制).
- 如果字符串 string 以"0"開頭, 基數是8(八進制)或者10(十進制),那么具體是哪個基數由實現環境決定。ECMAScript 5 規定使用10,但是並不是所有的瀏覽器都遵循這個規定。因此,永遠都要明確給出radix參數的值。
- 如果字符串 string 以其它任何值開頭,則基數是10 (十進制)。
原題:['10','10','10','10','10'].map(parseInt); 第一次分解: ['10','10','10','10','10'].map((item, index) => { return parseInt(item, index) }) 第二次分解 parseInt('10', 0) // 10 parseInt('10', 1) // NaN parseInt('10', 2) // 2 parseInt('10', 3) // 3 parseInt('10', 4) //4 結果 ['10','10','10','10','10'].map(parseInt);// 10 NaN 2 3 4