js原生方法map實(shí)現(xiàn)
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了博山免費(fèi)建站歡迎大家使用!
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <meta name="author" content="楊欣"> <title>map</title> </head> <body> <script> Array.prototype.my_map = function (callback) { if (!Array.isArray(this) || !this.length || typeof callback !== 'function') { return [] } else { let result = []; for (let index = 0; index < this.length; index++) { const element = this[index]; result.push(callback(element, index, this)) } return result } } let arr = [1, 2, 3, 4, 5] let res = arr.my_map((ele, i) => { return ele + 10 }) console.log(res) </script> </body> </html>
補(bǔ)充知識點(diǎn)
我們平時(shí)用的是已經(jīng)封裝好的map方法,如果讓我們自己封裝一個(gè)map,應(yīng)該如何實(shí)現(xiàn)。
萬變不離其宗,其實(shí)遍歷數(shù)組的核心還是for循環(huán)。因此下面封裝一個(gè)map方法。
思路:
1.在原型上添加一個(gè)方法
2.傳一個(gè)函數(shù)和this
3.call 方法傳的參數(shù)和封裝好的map方法的參數(shù)是一樣的。
Array.prototype.fakeMap = function(fn,context) { let arr = this; let temp = []; for(let i=0;i<arr.length;i++){ let result = fn.call(context,arr[i],i,arr); temp.push(result); } return temp; }
以上就是本次介紹的全部相關(guān)知識點(diǎn),如果大家有任何補(bǔ)充可以聯(lián)系創(chuàng)新互聯(lián)的小編。
網(wǎng)站題目:js原生map實(shí)現(xiàn)的方法總結(jié)
新聞來源:http://aaarwkj.com/article26/peiscg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、微信小程序、App設(shè)計(jì)、外貿(mào)建站、企業(yè)建站、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)