forEach与map的区别

230 阅读1分钟

多的不说直接上代码去对比区别

        let arr = [1,2,3,4,5,6,7,8]
        // forEach 是一个回调函数   三个参数
        let res = arr.forEach((item , index , arr)=>{
            console.log(item);   // 数组中的值
            console.log(index);  // 数组的角标
            console.log(arr);    // 原数组
            item *= 2            // forEach 方法不能改变原数组
            arr[0] = 10          // 这个方法改变了原数组
            return index *= 2    // forEach并且没有返回值
        })
        console.log(res);
        console.log(arr);
        
        let res = arr.map((item , index , arr)=>{
            console.log(item);   // 数组中的值
            console.log(index);  // 数组的角标
            console.log(arr);    // 原数组
            item *= 2            // map方法不能改变原数组
            arr[0] = 10          // 这个方法改变了原数组
            return index *= 2    // map有返回值
        })
        console.log(res);
        console.log(arr);

forEach方法不会返回 map有返回值 会开辟一个新的内存空间