1 <!-- 2 * @Author: your TM_cc 3 * @Date: 2021-11-03 22:06:54 4 * @LastEditTime: 2021-11-03 22:20:38 5 * @LastEditors: Please set LastEditors 6 * @Description: In User Settings Edit 7 * @FilePath: \Array.prototype.map方法.html 8 --> 9 10 <!DOCTYPE html> 11 <html lang="en"> 12 <head> 13 <meta charset="UTF-8"> 14 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 15 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 16 <title>Document</title> 17 </head> 18 <body> 19 <script> 20 // map函数的直接使用 21 var arr = [1,2,3,4] 22 var array = arr.map((item,index) => { 23 return item * 2; 24 }) 25 console.log(array); 26 27 28 // 写一个新的newMap函数 29 function newMap (arr,mapCallback) { 30 //检查参数是否正确 31 if (!Array.isArray(arr) || !arr.length || typeof mapCallback !== 'function'){ 32 return [] 33 }else{ 34 let result = [] 35 for (let i = 0,len = arr.length;i < len;i++){ 36 result.push(mapCallback(arr[i],i,arr)) 37 } 38 return result 39 } 40 } 41 var res = newMap(arr,(item) => { 42 return item * 2 43 }) 44 console.log(res); 45 46 </script> 47 </body> 48 </html>