Java
MySQL
Python
大数据
前端
黑科技
    首页 > 互联网 > 前端 > forEach与Map的区别

forEach与Map的区别

[导读]:script let arr = [ 1 , 2 , 3 , 4 , 5 , 6 ] /* 定义 foreEach()方法: 针对每一个元素执行提供的函数。 map()方法: 创建一个新的数组,其中每一个元素由调用数组中的每一个元素执行提供的函数得来。 区别 forEach()方法不会返回执行结果,而是...

<script>
let arr = [1, 2, 3, 4, 5, 6]
/*
定义
foreEach()方法:
针对每一个元素执行提供的函数。
map()方法:
创建一个新的数组,其中每一个元素由调用数组中的每一个元素执行提供的函数得来。
区别
forEach()方法不会返回执行结果,而是undefined,也就是说,forEach()会修改原来的数组。
map()方法会得到一个新的数组并返回。
速度
forEach()的执行速度 < map()的执行速度
使用场景
forEach适合于你并不打算改变数据的时候,而只是想用数据做一些事情 – 比如存入数据库或则打印出来。
map()适用于你要改变数据值的时候。不仅仅在于它更快,而且返回一个新的数组。这样的优点在于你可以使用复合(composition)(map(), filter(), reduce()等组合使用)来玩出更多的花样。
总结
forEach()可以做到的东西,map()也同样可以。反过来也是如此。
map()会分配内存空间存储新数组并返回,forEach()不会返回数据。
forEach()允许callback更改原始数组的元素。map()返回新的数组。
*/
// forEach
arr.forEach((value, key) => {
return console.log((arr[key] = value * value))
})
// map1
let list = arr.map((value) => {
let valMath = value * value
console.log('-------', valMath)
return valMath
})
// map2 filter过滤器 大于10的展示 否则不展示
let arr2 = arr.map((value) => value * value).filter((value) => value > 10)
console.log(arr2, 'arr2')
</script>

本文来自投稿,不代表阿习进阶博客立场,如若转载,请注明出处:https://www.yanxias.com/qianduan/164.html

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!
点击这里给我发消息