在專案中,經常會使用到陣列的map,filter,reduce等方法,在享受這幾個方法的便利的同時,也要去弄清楚這幾個方法究底是怎麼實現的,這樣才能更充分的來利用它們。這一篇主要是map的實現方法:
首先針對陣列的方法,可以直接類似arr.slice()這種呼叫的,我們需要將這類方法寫在陣列的原型物件裡,這樣就可以直接使用例項化之後的陣列來呼叫。那麼我們給我們新建立的方法命乙個名,就為consmap。先回顧一下map的用法,arr.map(function(item,i,arr),this),最後返回的是另外乙個處理之後的新的陣列。
**
//fn為處理每一項陣列的函式,context代表作用域
array.prototype.consmap = function
(fn,context)
var arr = this; //this指代例項化的陣列
var newarr = ;
for(var i = 0;i< arr.length;i++)
return newarr;
}
驗證
var arr = [1,2,3]
var newarr = arr.consmap(function
(item,i,arr))
console.log(newarr);
結果
[2,3,4]
以上就是實現陣列map的方法 陣列方法 map
var arr 1,2,3 var b arr.map function item consonelog b 2,3,4 map 方法返回乙個由原陣列中的每個元素呼叫乙個指定方法後的返回值組成的新陣列。array.map callback thisarg callback原陣列中的元素經過該方法後返...
js陣列方法map和filter比較
1.map 1 怎麼用?map 方法建立乙個新陣列,其結果是該陣列中的每個元素都呼叫乙個提供的函式後返回的結果。const newarr arr.map a console.log newarr 2,2,2 2 用什麼特點?注意點 map 方法會給原陣列中的每個元素都按順序呼叫一次 callback...
JS陣列方法的原生實現
該方法接受任意個引數,然後新增到陣列的末尾 function push arr,arg push 接受任意個引數,按照順序新增到陣列末尾,返回新的陣列長度 return arr.length 該方法刪除並返回陣列的最後乙個元素,如果陣列為空,返回undefined function pop arr ...