[JS] 关于parseInt的一个小知识:[‘1‘, ‘2‘, ‘3‘].map(parseInt)
生活随笔
收集整理的這篇文章主要介紹了
[JS] 关于parseInt的一个小知识:[‘1‘, ‘2‘, ‘3‘].map(parseInt)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
主要是在筆試里看到了,自己試下。。
let a = ['1', '2', '3'].map(parseInt)
console.log(a)
運行結果:
反正當時是做錯了,QAQ
查了一下原理,感謝大佬的博客:
https://blog.csdn.net/The_X_One/article/details/83584019
- 查文檔,map()的語法:
var new_array = arr.map(function callback(currentValue[, index[, array]]) {// Return element for new_array
}[, thisArg])
- callback:產生新數組元素的函數,帶有三個參數:currentValue、index和array
- 這些參數被傳到了parseInt里面!
- 所以,所以例子中的parseInt函數應該是:parseInt(“1”,0,arr)、parseInt(“2”,1,arr)、parseInt(“3”,2,arr)。
- parseInt的語法:
parseInt (string , radix)
- parseInt函數根據指定的基數radix生成一個整數值,該值由字符串參數string的內容解釋決定。字符串中的前導空格被忽略。如果基數未定義或為0,則默認是10。
- String是你要轉換的字符串,radix是進制。(所以默認是10進制呢)
- 例如:parseInt(‘1’)、parseInt(‘1’,0)以及parseInt(‘1’,10),結果都是1。
- 同理:parseInt(‘ABCD’,16)結果為43981,而parseInt(‘ABCD’,8)結果為NaN
由此可見: - 由于parseInt中只需要兩個參數,parseInt(“1”,0,arr)、parseInt(“2”,1,arr)、parseInt(“3”,2,arr)
- 實為parseInt(“1”,0)、parseInt(“2”,1)、parseInt(“3”,2)。
- 只有parseInt(“1”,0)是能夠被正確解析的,結果為1。
- parseInt(“2”,1)、parseInt(“3”,2)不能被正確解析,結果為NaN。
總結
以上是生活随笔為你收集整理的[JS] 关于parseInt的一个小知识:[‘1‘, ‘2‘, ‘3‘].map(parseInt)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信个性签名女生伤感
- 下一篇: 常用默认端口号