1. 程式人生 > 程式設計 >如何用JS模擬實現陣列的map方法

如何用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 可選。當期元素屬於的陣列物件

執行結果:

如何用JS模擬實現陣列的map方法

我們先來屢屢思路,直接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,arr)=>{
      console.log("newMap當前元素"+currentValue)
       console.log("newMap當前索引"+index)
      console.log("newMap陣列物件"+arr)
    })

執行結果:

如何用JS模擬實現陣列的map方法

可以看到我們的執行結果是完全一樣的,到這裡簡單的map方法就實現了,可能有一些細節沒注意到,沒關係,只是給大家一個思路而已

以上就是如何用JS模擬實現陣列的map方法的詳細內容,更多關於JS模擬實現陣列的map方法的資料請關注我們其它相關文章!