JavaScript中数组的概念及遍历数组的五种方式

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

一、一维数组

1. 数组的声明:var   arr  = [  ] ;  // 数组名为 arr

(1)使用数组字面量:[ ]

        使用Array 对象来声明数组;  // var  arr  =  new   Array( )

                var   arr  =  new   Array( 4 ) ;  / /  表示 数组长度为 4 , 数组单元 为空

 2.  数组的属性:length 数组的(长度),数组对象中的元素个数;

 3. 数组元素索引:从0开始到数组的单元个数减1   //  arr [ i ]

 4.  数组元素的访问 :数组名 [索引]

 5.  数组的5种遍历:

        (1)  for 循环遍历 :

                for   ( let   i ;  条件 ;   迭代)  { / /   i  表示 元素的个数

                }

      (2)for...in遍历 :

                for  ( index    in    数组名)  {  / /  index 表示 数组元素的索引

                                循环体语句

                }

        (3)for...of遍历:

                for (value   of    数组名)  {  / / value表示 数组元素的值

                             语句

                }

        (4)forEach遍历:

                数组名.forEach (function  (value,index) ) {
                              函数题语句

                }

    ​     (5)使用map函数遍历数组:实际是对数组的过滤。

                  返回一个新的数组,原数组不变

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

​                                       函数体语句

                                                / /  return item;   / / 返回新数组的元素

                            })

forEach  和 map 的区别

相同点:

  1. 都是循环遍历数组中的每一项

  2. 每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组)

  3. 匿名函数中的this都是指向window

  4. 只能遍历数组

不同点:

  1. map( )会分配内存空间存储新数组并返回,map()返回新的数组。

  2. forEach() 允许callback更改原始数组的元素。forEach()不会返回数据。

二、 二维数组

        1. 二维数组:数组中的每个元素都有两个下标(由行和列组成的数组)

                (1)  定义

                       a.字面量 声明    [ ]

                       b.Arrary 对象

var arr = new Array(
                     new Array(1, 2, 3),
                     new Array(5, 6, 7),
                     new Array(8, 9, 10)
                    )

                (2)二维数组访问

                        数组名[ 索引1] [索引2 ]

                        

 var arr = new Array(
                      new Array(1, 2, 3),
                      new Array(5, 6, 7),
                      new Array(8, 9, 10)
                     )
        // 字符串用来接收输出值
        var str = "";
        // i表示数组的行数
        for (let i = 0; i < arr.length; i++) {
            // j表示数组的列数
            for (let j = 0; j < arr[i].length; j++) {
                str += arr[i][j] + "\t";
            }

            str += "\n";
        }
        console.log(str);

                        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值