手写js中的方法map

817 阅读1分钟

原理:创建一个新数组,并将原数组遍历出来,执行回调函数,执行完毕的结果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
            }
        }

结果:

Snipaste_2021-08-15_21-53-02.png