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

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() 返回一个新数组,数组中元素为原始数组元素调用函数处理后的值。

索引加在int和string 索引for_遍历数组


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表示的就是元素