原理:创建一个新数组,并将原数组遍历出来,执行回调函数,执行完毕的结果push进入新数组。
var res = map([1, 2, 3], item => {
return item * 2
})
console.log(res)
function map(arr, cb) {
// 判断arr 和 cb 是否合法
if (!Array.isArray(arr) || !arr.length || typeof cb !== 'function') {
return []
} else {
// 遍历arr
var result = []
for (var i = 0; i < arr.length; i++) {
result.push(cb(arr[i]))
}
return result
}
}
结果: