在循环遍历数组或对象时,经常会使用到for in循环或者forEach循环方式,这里介绍下它们的区别。
首先,先定义数组,这里简单定义一个一维数组。
1.for循环
而除了刚才说到的两种循环遍历方式,还有JS中一直使用的for循环。
通过控制台输出查看
这里的i是指数组的索引下标,for循环只能通过循环索引值,再通过索引值来获取对应数据。
2.forEach循环
同样通过控制台输出val和key。
forEach循环可以定义参数,这里的参数:
参数1:val,直接存储的是数组单元的数据,不需要通过索引值来获取;
参数2:key,存储的是对应数组单元的索引值。
这里的两个参数互不影响,一般在循环数组时,我们通常使用这种循环方式,并且根据项目需求来决定定义几个参数,当然,参数名称自己定义。但是,这种循环是不能通过break、continue和return语句来终止循环的。
3.for in循环
控制台输出
for in循环,是通过自定义变量k循环遍历数组,这里的k,即为数组的索引值,我们同样要通过索引值,来获取数组单元的数据。
但要注意的是,这里的变量k,存储的数据是字符串类型,若后续要使用参与相关运算,要先提前转变为数值类型。
for in循环,更多用来循环遍历对象,当循环遍历对象时,变量k中存储的是对象的属性。