如何实现一个map函数?
实现思路
map 迭代方法接收两个参数:
对每一项执行的函数 数组项的值 数组项的下标 数组对象本身 指定 this 的作用域对象 map 方法返回每次函数调用结果组成的数组。 该函数接收三个参数:
具体实现
Array.prototype.newMap = function(fn,context){
if (typeof fn !== "function") {
throw new TypeError(`${fn} is not a function`);
}
const newArr = [];
for(var i = 0;i < this.length;i++){
newArr.push(fn.call(context,this[i],i,this,context));
}
return newArr;
}
具体使用
凑字数
["鬼鬼", "刘亦菲", "周星驰"].newMap((userName) => {
console.log(userName)
});
["鬼鬼", "刘亦菲", "周星驰"].newMap((userName) => {
console.log(userName)
});
["鬼鬼", "刘亦菲", "周星驰"].newMap((userName) => {
console.log(userName)
});
["鬼鬼", "刘亦菲", "周星驰"].newMap((userName) => {
console.log(userName)
});
["鬼鬼", "刘亦菲", "周星驰"].newMap((userName) => {
console.log(userName)
});["鬼鬼", "刘亦菲", "周星驰"].newMap((userName) => {
console.log(userName)
});["鬼鬼", "刘亦菲", "周星驰"].newMap((userName) => {
console.log(userName)
});["鬼鬼", "刘亦菲", "周星驰"].newMap((userName) => {
console.log(userName)
});["鬼鬼", "刘亦菲", "周星驰"].newMap((userName) => {
console.log(userName)
});
说明
本专栏总共汇总了150
道题,每道题目答案没有多余扯皮的部分,就是单纯的答案。
关注公众号,每天一到面试题,为下次跳槽准备,人人都能冲击30k+
,点击↓
关注【鬼哥】
当前进度【#015题】
,如果你能点赞分享、鬼哥
骑自行车也是开心的
评论