Simper日记(2020/4/14)——1

本文深入探讨JavaScript中的四种常见循环方法,包括使用临时变量优化的for循环、响应控制语句的for...in/of循环、功能丰富的forEach及map方法。对比forEach与map的性能与应用场景,指导开发者如何根据需求选择合适的数组遍历策略。
摘要由CSDN通过智能技术生成

Simper日记(2020/4/14)

js中的foreach使用学习

常用的循环方式

(一)第一种

//使用临时变量,将长度缓存起来,避免重复获取数组长度,
当数组较大时优化效果才会比较明显。
var array = [1,2,3,4,5,6,7];  
for (var i = 0; i < array.length; i) {  
    //i 索引
    //array 数组对象
}  

(二)第二种

//可以正确响应break、continue和return语句
 for(let index in array) {  
        //index  索引值
        //array 数组对象
 };  
 for(let index of array) {  
        //index  索引值
        //array 数组对象
 };  

(三)第三种

array.forEach(function(currentValue, index, arr){  
    //currentValue 必需。当前元素 
    //index 可选。当前元素的索引值
    //arr 可选。当前元素所属的数组对象
});
//es6写法
//返回值为undefined
array.forEach((currentValue, index, arr)=>{  
    //currentValue 必需。当前元素 
    //index 可选。当前元素的索引值
    //arr 可选。当前元素所属的数组对象
});

(四)第四种

//有返回值
//map的回调函数中支持return返回值;
return的是啥,相当于把数组中的这一项变为啥(并不影响原来的数组,
只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了);
let newMap = array.map(function(currentValue, index, arr){  
    //currentValue 必需。当前元素 
    //index 可选。当前元素的索引值
    //arr 可选。当前元素所属的数组对象
});
forEach()会改变原始的数组的值,
而map()会返回一个全新的数组,
原本的数组不受到影响。
forEach()的执行速度比map()慢了70%
forEach适合于你并不打算改变数据的时候,
而只是想用数据做一些事情 – 比如存入数据库或则打印出来。
map()适用于你要改变数据值的时候。
不仅仅在于它更快,而且返回一个新的数组。
这样的优点在于你可以
使用复合(composition)(map(), filter(), reduce()等组合使用)
来玩出更多的花样。
能用forEach()做到的,map()同样可以。反过来也是如此。
map()会分配内存空间存储新数组并返回,forEach()不会返回数据。
forEach()允许callback更改原始数组的元素。map()返回新的数组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值