JavaScript map()、forEach()的用法区别

在这里插入图片描述

JavaScript 中map()与forEach()的用法

一、相同点

  1. 都是循环遍历数组中的每一项
  2. 每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),array(原数组)
  3. 匿名函数中的this都是指向window
  4. 只能遍历数组

二、不同点

  • map()

map()方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值,也就是说map()进行处理之后返回一个新的数组。

⚠️注意:

  1. map()方法不会对空数组进行检测
  2. map()方法不会改变原始数组
var arr = [0,2,4,6,8];
var str = arr.map(function(item,index,arr){
	console.log(this);    //Window
	console.log(this);
	console.log(item);
	console.log('原数组arr:',arr);   // 会执行五次
	return item/2;
},this);
console.log(str); //[0,1,2,3,4]
  • forEach

forEach方法用于调用数组的每个元素,将元素传给回调函数

⚠️注意: forEach对于空数组是不会调用回调函数的 ,没有返回一个新数组&没有返回值

应用场景:

  1. 为一些相同的元素,绑定事件处理器
  2. 不可链式调用
var arr = [0,2,4,6,8]
 var sum =0;
 var str = arr.forEach(item,index.arr){
 sum+= item;
 console.log("sum的值为:",sum);
 })
发布了161 篇原创文章 · 获赞 71 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_44034384/article/details/99253711
今日推荐