如何用JS模擬實(shí)現(xiàn)數(shù)組的map方法
昨天使用map方法的時(shí)候,突然感覺(jué)一直在直接用,也沒(méi)有試試是怎么實(shí)現(xiàn)的,本來(lái)想直接搜一篇文章盤一下子,結(jié)果沒(méi)搜到合適的,好吧,那就自己來(lái)寫一下子吧
今天就來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的map方法
首先我們來(lái)看一下map方法的使用以及具體的參數(shù)
var arr = ["a","b","c","d","e"]; arr.map(function(currentValue,index,arr){ console.log("當(dāng)前元素"+currentValue) console.log("當(dāng)前索引"+index) console.log("數(shù)組對(duì)象"+arr) })
map的參數(shù):
currentValue 必須。當(dāng)前元素的值
index 可選。當(dāng)期元素的索引值
arr 可選。當(dāng)期元素屬于的數(shù)組對(duì)象
運(yùn)行結(jié)果:
我們先來(lái)屢屢思路,直接Array.map()就可以調(diào)用到map方法,那他應(yīng)該是在原型鏈上的,然后接收一個(gè)匿名函數(shù)做參數(shù),通過(guò)循環(huán)調(diào)用傳入的匿名函數(shù)
下面我們來(lái)寫一下試試
Array.prototype.newMap = function(fn) { var newArr = []; for(var i = 0; i<this.length; i++){ newArr.push(fn(this[i],i,this)) } return newArr; }
來(lái),調(diào)用一下試一下子
arr.newMap((currentValue,index,arr)=>{ console.log("newMap當(dāng)前元素"+currentValue) console.log("newMap當(dāng)前索引"+index) console.log("newMap數(shù)組對(duì)象"+arr) })
運(yùn)行結(jié)果:
可以看到我們的運(yùn)行結(jié)果是完全一樣的,到這里簡(jiǎn)單的map方法就實(shí)現(xiàn)了,可能有一些細(xì)節(jié)沒(méi)注意到,沒(méi)關(guān)系,只是給大家一個(gè)思路而已
以上就是如何用JS模擬實(shí)現(xiàn)數(shù)組的map方法的詳細(xì)內(nèi)容,更多關(guān)于JS模擬實(shí)現(xiàn)數(shù)組的map方法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
CryptoJS中AES實(shí)現(xiàn)前后端通用加解密技術(shù)
這篇文章主要為大家詳細(xì)介紹了CryptoJS中AES實(shí)現(xiàn)前后端通用加解密技術(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12javascript 三組文字間隙滾動(dòng)實(shí)例代碼
非常實(shí)用的文字間隙滾動(dòng)效果代碼2008-06-06js中的關(guān)聯(lián)數(shù)組與普通數(shù)組詳解
下面小編就為大家?guī)?lái)一篇js中的關(guān)聯(lián)數(shù)組與普通數(shù)組詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07微信小程序出現(xiàn)wx.getLocation再次授權(quán)問(wèn)題的解決方法分析
這篇文章主要介紹了微信小程序出現(xiàn)wx.getLocation再次授權(quán)問(wèn)題的解決方法,結(jié)合實(shí)例形式分析了解決wx.getLocation再次授權(quán)問(wèn)題的相關(guān)操作步驟,需要的朋友可以參考下2019-01-01js控制臺(tái)報(bào)錯(cuò)Uncaught TypeError: Cannot read p
本文主要介紹了js控制臺(tái)報(bào)錯(cuò)Uncaught TypeError: Cannot read properties of undefined (reading ‘a(chǎn)ppendChild‘)的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07用Javascript評(píng)估用戶輸入密碼的強(qiáng)度實(shí)現(xiàn)代碼
用Javascript評(píng)估用戶輸入密碼的強(qiáng)度實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-11-11標(biāo)準(zhǔn)的js無(wú)縫滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了標(biāo)準(zhǔn)的js無(wú)縫滾動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08