JS中map和parseInt的用法詳解
map
map方法用于創(chuàng)建一個(gè)新的數(shù)組(不改變原數(shù)組),這個(gè)新數(shù)組由原數(shù)組中的每個(gè)元素,調(diào)用map中的回調(diào)函數(shù)處理后的返回值組成!
參數(shù)
map(callbackFn, thisArg)
callbackFn 回調(diào)函數(shù),數(shù)組中的每個(gè)元素都會(huì)調(diào)用該函數(shù),對數(shù)據(jù)進(jìn)行處理,處理完成的元素會(huì)被添加到新的數(shù)組中!callbackFn被調(diào)用時(shí)會(huì)傳入如下參數(shù):
- item 當(dāng)前正在處理的元素
- index 當(dāng)前正在處理的元素下標(biāo)
- arr 原數(shù)組
thisArg(可選) 用來修改this指向
使用
// 給數(shù)組中每一項(xiàng)增加一個(gè)label屬性! const arr = [{name:'測試1'},{name:'測試2'},{name:'測試3'}] const newArr = arr.map(item=>{ item.label = '通過map添加' return item }) // 結(jié)果: newArr = [{name:'測試1',label: "通過map添加"},{name:'測試2',label: "通過map添加"},{name:'測試3',label: "通過map添加"}]
thisArg這個(gè)參數(shù)因?yàn)閷?shí)際開發(fā)中基本都用的是箭頭函數(shù),所以用到第二個(gè)參數(shù)的情況并不多
const arr = [{name:'測試1'},{name:'測試2'},{name:'測試3'}] const newArr = arr.map(function(item){ console.log(this); // Number?{1} },1)
map和parseInt一起使用
正常情況下我們使用map回調(diào)函數(shù)中只會(huì)傳遞一個(gè)參數(shù)item,這就可能會(huì)出現(xiàn)下面這種問題:
console.log(["1", "2", "3"].map(parseInt));
期望輸出 [1, 2, 3]
, 而實(shí)際結(jié)果是 [1, NaN, NaN]
,這是因?yàn)閜arseInt在使用時(shí),也只傳遞一個(gè)參數(shù)進(jìn)去,但實(shí)際上parseInt可以接收兩個(gè)參數(shù)(表達(dá)式,基數(shù)),所以如上代碼map在執(zhí)行回調(diào)時(shí)默認(rèn)傳遞了三個(gè)參數(shù)parseInt的第二個(gè)參數(shù)為下標(biāo),就導(dǎo)致了[1, NaN, NaN]
的結(jié)果!
# parseInt()
string(必選),要解析的字符串
radix(可選),表示要解析的數(shù)字的基數(shù)
radix介于 2 ~ 36 之間,如果省略該參數(shù)或其值為0,則數(shù)字將以10為基礎(chǔ)來解析,如果它以 0x或0X開頭,將以16為基數(shù),如果該參數(shù)小于2或者大于36,則parseInt()將返回NaN。
到此這篇關(guān)于JS中map和parseInt的用法詳解的文章就介紹到這了,更多相關(guān)JS map parseInt內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IE中鼠標(biāo)經(jīng)過option觸發(fā)mouseout的解決方法
這篇文章主要介紹了IE中鼠標(biāo)經(jīng)過option觸發(fā)mouseout的解決方法,分析了IE中鼠標(biāo)移到option時(shí)window.event.toElement返回值為null的原因及解決方法,需要的朋友可以參考下2015-01-01TypeScript 引用資源文件后提示找不到的異常處理技巧
這篇文章主要介紹了TypeScript 引用資源文件后提示找不到的異常處理,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07chrome瀏覽器如何斷點(diǎn)調(diào)試異步加載的JS
chrome瀏覽器不僅僅可以用來上網(wǎng),對于開發(fā)人員來說,它更像是一款強(qiáng)大的開發(fā)輔助工具。今天這篇文章給大家分享在chrome瀏覽器如何斷點(diǎn)調(diào)試異步加載的JS,有需要的可以參考借鑒。2016-09-09JavaScript實(shí)現(xiàn)網(wǎng)頁跨年倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)網(wǎng)頁跨年倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12