JavaScript的数组方法forEach的使用需注意

本文详细介绍了JavaScript中的forEach方法,它作为for循环的增强版,用于遍历数组。回调函数接收value(数组元素)、index(索引)和array(数组本身)作为参数。示例代码展示了如何使用forEach修改数组元素,对于原始类型和引用类型的数据,其修改行为有所不同。注意,forEach不会直接改变原数组,而是创建新的数据引用。
摘要由CSDN通过智能技术生成

forEach 是 ES5 中操作数组的一种方法,主要功能是遍历数组,其实说穿了,就是 for 循环的加强版,该语句需要一个回调函数,作为参数。回调函数的形参,依次为,value:遍历的数组内容;index:对应的数组索引,array:数组本身。

// 分别对应:数组元素,元素的索引,数组本身
	var arr = [1,2,3];	
	arr.forEach((value,index,array){
		console.log(value);
		console.log(index);
		console.log(array);
	})

forEach使用需要注意的是

var arr1 = [1,2,3,4];

var arr2 = [{a:1},{a:2},{a:3}];
arr1.forEach(item =>{
    item = item * item;
});
 
arr2.forEach(item =>{
    item.a = item.a * item.a;
});
console.log(arr1); // [1,2,3,4]
console.log(arr2); // [{a:1},{a:4},{a:9}]

forEach 在对 item 进行修改的时候,如果 item 是原始类型的值,item 对应的 的内存地址实际并没有变化
如果 item 是 引用类型的值,item 对应多的内存地址也没有变化,但是对应的值,已经重写了

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值