如何用JS模擬實現數組的map方法
昨天使用map方法的時候,突然感覺一直在直接用,也沒有試試是怎么實現的,本來想直接搜一篇文章盤一下子,結果沒搜到合適的,好吧,那就自己來寫一下子吧
今天就來實現一個簡單的map方法
首先我們來看一下map方法的使用以及具體的參數
var arr = ['a','b','c','d','e']; arr.map(function(currentValue,index,arr){ console.log('當前元素'+currentValue) console.log('當前索引'+index) console.log('數組對象'+arr) })
map的參數:
currentValue 必須。當前元素的值
index 可選。當期元素的索引值
arr 可選。當期元素屬于的數組對象
運行結果:
我們先來屢屢思路,直接Array.map()就可以調用到map方法,那他應該是在原型鏈上的,然后接收一個匿名函數做參數,通過循環調用傳入的匿名函數
下面我們來寫一下試試
Array.prototype.newMap = function(fn) {var newArr = [];for(var i = 0; i<this.length; i++){newArr.push(fn(this[i],i,this))}return newArr;}
來,調用一下試一下子
arr.newMap((currentValue,index,arr)=>{ console.log('newMap當前元素'+currentValue) console.log('newMap當前索引'+index) console.log('newMap數組對象'+arr) })
運行結果:
可以看到我們的運行結果是完全一樣的,到這里簡單的map方法就實現了,可能有一些細節沒注意到,沒關系,只是給大家一個思路而已
以上就是如何用JS模擬實現數組的map方法的詳細內容,更多關于JS模擬實現數組的map方法的資料請關注好吧啦網其它相關文章!
相關文章:
1. Django中的AutoField字段使用2. Django ORM實現按天獲取數據去重求和例子3. 解決docker與vmware的沖突問題4. IntelliJ Idea 2020.1 正式發布,官方支持中文(必看)5. IntelliJ IDEA設置自動提示功能快捷鍵的方法6. asp.net core應用docke部署到centos7的全過程7. Java 3D的動畫展示(Part1-使用JMF)8. Python基于jieba, wordcloud庫生成中文詞云9. 如何在vue3.0+中使用tinymce及實現多圖上傳文件上傳公式編輯功能10. 刪除docker里建立容器的操作方法
