一個參數
當 parseInt() 的參數爲一個時,它的作用就是將數字轉化爲整形比如
console.log(parseInt(123.123)); //123
另外轉換時應該注意以下內容
能將轉化爲數字類型的轉化爲數字類型,轉化不了的轉化爲NaN
比如
console.log(parseInt('123aaa')); //NaN
console.log(parseInt('aaa123')); //NaN
兩個參數
將基地進制的數轉化爲10進制數
如下面的這個將2進制的101轉化爲10進制的5
console.log(parseInt(101, 2)); //5
注意的事項來了~~~
- 第二個參數的取值範圍是2~36之間
- 如果省略該參數或其值爲 0,則數字將以 10 爲基礎來解析
- 如果該參數小於 2 或者大於 36,則 parseInt() 將返回 NaN
舉個栗子
例1
let arr = [1, 2, 3, 4, 5];
let result = arr.map(parseInt);
console.log(result);
輸出結果爲
爲什麼呢?
這裏簡單分析一下,其實也就是上面所講的第二個參數應該注意的事項
map() 方法的第一個參數爲一個回調函數
回調函數裏面三個參數
- 數組元素
- 數組下標
- 數組本身
然後執行的時候就是下面這個樣子
parseInt(1, 0); //爲0則看做10進制 所以結果爲 1
parseInt(2, 1); // 爲1,直接返回NaN
parseInt(3, 2); // 爲2 ,2進制裏沒有3無法轉換,返回NaN
parseInt(4, 3); // 爲2 ,2進制裏沒有3無法轉換,返回NaN
parseInt(5, 4); // 爲2 ,2進制裏沒有3無法轉換,返回NaN
例子2
跟上面類似
let arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length - 1; i++) {
console.log(parseInt(arr[i], i));
}