数组的5种遍历区别(for循环、for ...in 、for ...of、forEach()、 map() )

数组:内存中一块连续的存储单元,这些存储单元具有共同的名称、不同的索引(下标)

5种遍历:1.for循环;

                        任何数组都可以使用for循环进行遍历,使用频率最高

                                for (let i = 0; i < array.length; i++) {

                                           循环体语句

                                }

                注意:数组下标从0开始,所以计数器的初始值为0,条件为计数器<数组长度。

                2.for ...in 主要用于遍历对象,数组/集合不太推荐使用,避免出现不必要的问题

                                for(index in 数组名){

                                        循环体语句

                                }

                                index:表示的是数组元素的索引

                注意:(1)index索引为字符串型数字,不能直接进行几何运算

                           (2)for...in遍历的是数组的索引(即键名)

                3.for ...of 只遍历数组 ,不可遍历对象

                                for( value of 数组名){

                                        循环体语句

                                }

                                value:表示数组元素

                注意:它可以正确响应break,continue,return语句

                4.forEach(); 用于遍历数组

                                数组名.forEach(function(value,index){

                                        函数体语句

                                })

                             value:表示数组元素

                             index:数组元素的下标

                             数组元素的下标:数组元素在数组中的位置编号(从0开始到数组的长度减1)

                注意:对于forEach方法除非使用try/catch,否则无法中途停止循环,break或者return都无法使循环中途停止。

               5. map()实际是对数组的过滤。返回一个新的数组,原数组不变

                                let 新数组名 = 原数组名.map(function(item){ //item表示数组元素

                                                函数体语句

                                })

                注意:(1)map支持return;

                           (2)map() 不会对空数组进行检测;

                           (3)map() 不会改变原始数组;

                           (4)map() 返回一个新数组,数组中元素为原始数组元素调用函数处理后的值。

forEach()和map()区别:

        a.forEach()和map()通常用来遍历数组元素

        b.forEach()返回的是undefinded,用来遍历数组中的每一项,不影响原数组

        c.map()返回一个包含已转换元素的新数组,支持return

for...of 和 for..in的区别:

        a.for...in 既可以遍历对象也可以遍历数组,in中的k一般指的是下标
        b.for...of 只可以遍历数组,不可遍历对象,of中的k表示的就是元素

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值