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方法就實現了,可能有一些細節沒注意到,沒關系,只是給大家一個思路而已

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM