数组的 map 办法接管一个函数,此函数接管三个参数:以后数组元素 arr[i]
、以后元素索引 i
、被 map 的数组对象 arr
。map 会将函数办法作用在每一个元素上,并返回被解决过的元素组成的新数组。
《JavaScript 高级程序设计》里对数组 map 办法的形容为:对数组中的每一项运行给定函数,返回每次函数调用的后果组成的数组。
因而咱们能够创立一个办法,接管一个要 map 的数组和办法,遍历数组元素,将函数作用在每个数组元素上,并将作用后果保留到新数组里。最初返回一个新数组:
function arrMap(fn,arr){let newarr = []
if(Array.isArray(arr) && arr.length !== 0 && typeof fn === 'function'){for(let i=0; i<arr.length; i++){newarr.push(fn(arr[i],i,arr))
}
return newarr
}
}