我是靠谱客的博主 难过歌曲,最近开发中收集的这篇文章主要介绍js中map方法和forEach方法的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

红宝书中的定义:

map():对数组的每一项运行给定函数,返回每次函数调用的结果组成的数组。

forEach():对数组的每一项运行给定函数,无返回值。

forEach()代码如下:

let arr = ['kebe','liyabin','wangmin'];
arr.forEach((item,index,array)=>{
console.log( item);
console.log(index);
console.log(array);
})

forEach()最后运行结果如下:

kebe
0
[ 'kebe', 'liyabin', 'wangmin' ]
liyabin
1
[ 'kebe', 'liyabin', 'wangmin' ]
wangmin
2
[ 'kebe', 'liyabin', 'wangmin' ]

以上代码说明forEach()本质上与for循环迭代数组一样。

可以用map()实现同样的输出结果:

let
arr = ['kebe','liyabin','wangmin'];
arr.map((item, index,arr) => {
console.log(item);
console.log(index);
console.log(arr);
});

不过map()是有返回值的。

 item: 数组当前元素

let
arr = ['kebe','liyabin','wangmin'];
let mapResult =
arr.map((item, index,arr) => {
return (item);
});
console.log(mapResult);

输出显示:

[ 'kebe', 'liyabin', 'wangmin' ]

index:数组当前元素的索引

let
arr = ['kebe','liyabin','wangmin'];
let mapResult =
arr.map((item, index,arr) => {
return (index);
});
console.log(mapResult);

  输出显示:

[ 0, 1, 2 ]

arr:数组本身

let
arr = ['kebe','liyabin','wangmin'];
let mapResult =
arr.map((item, index,arr) => {
return (arr);
});
console.log(mapResult);

输出显示:

[ [ 'kebe', 'liyabin', 'wangmin' ],
[ 'kebe', 'liyabin', 'wangmin' ],
[ 'kebe', 'liyabin', 'wangmin' ] ]

综上所述:

forEach适合于你并不打算改变数据的时候,而只是想用数据做一些事情 – 比如存入数据库或打印出来。

map()适用于你要改变数据值的时候。不仅在于它更快,而且返回一个新的数组。

核心要点

  • 能用forEach()做到的,map()同样可以。反过来也是如此。
  • map()会分配内存空间存储新数组并返回新数组,forEach()不会返回数据。
  • forEach()允许callback更改原始数组的元素。

最后

以上就是难过歌曲为你收集整理的js中map方法和forEach方法的区别的全部内容,希望文章能够帮你解决js中map方法和forEach方法的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部