0%

手写map

作用

map 接收一个函数,并使用该函数对数组的每个元素进行调用,函数会返回处理后的值,进而组成一个新的数组返回

如下:

let data = [
{ id: 1, state: false },
{ id: 2, state: true },
{ id: 3, state: false },
{ id: 4, state: true },
]

data = data.map(item => {
if(item.state) {
item.text = '成功';
} else {
item.text = '失败';
};
return item;
});

console.log(data);

原生实现

Array.prototype.myMap = function(fn) {
let result = [];
for(let i = 0; i < this.length; i++){
result.push(fn(this[i]));
}
return result;
}

reduce实现

Array.prototype.myMap = function(fn) {
let result = [];
this.reduce((pre, cur) => {
return result.push(fn(cur));
}, []);
return result;
}
-------------本文结束    感谢阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!