<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>數組forEach和Map實現原理</title> </head> <body> </body> </html> <script type="text/javascript"> var ary=[1,2,"哈哈","楊洋"]; ary.forEach(function(item,index,arr) {},ary); Array.prototype.myForEach=function (fn,obj) { for(var i=0;i<this.length;i++){ if(typeof obj=="undefined"){ //obj沒有傳 fn(this[i],i,this); }else { fn.call(obj,this[i],i,this); } } }; Array.prototype.myMap=function (fn,obj) { var arr=[]; for(var i=0;i<this.length;i++){ if(typeof obj=="undefined"){ arr.push(fn(this[i],i,this)); }else { arr.push(fn.call(obj,this[i],i,this)); } } return arr; }; console.log(ary.myMap(function (item, index, arr) { return 1 }, ary)); </script>
數組forEach和Map實現原理(Array.prototype.forEach/myMap)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.