JS第三章

数组的基本概念

Java数组和JS数组的区别

java中的数组:储存很多数据的容器,
                        特点:1.所有的数据的类型必须要一致
                      2.长度无法更改
                      
 javaScript中的数组:储存很多数据的容器,
                特点:1.所有的数据的类型可以不一致
                          2.长度可以随意更改
                     
                            数组是存储一系列值的集合,它是由一个或多个元素组成的,各元素之间使用逗号“,”分隔。
                数组中的每个元素由“索引”和“值”构成。 
                索引:也可称为“下标”,用于识别元素,以数字表示,默认情况下从0开始依次递增。
                值:元素的内容,可以是任意类型的数据。
数组的基本操作

常见的数组操作1:

获取指定位置的元素 语法:arr[index] 下标从0开始

常见的数组操作2:

获取数组的长度,通过属性,xxx.length    
             注意事项:Java中获取数组长度通过方法:xxx.length()

 常见的数组操作3:

遍历数组,根据for循环进行遍历
            
            var arr = [1,2,3,"语文" , true , 22.22 , undefined , null];
            console.log(arr[5]);//获取下标为5的元素
             console.log(arr.length);
            
            for(var i = 0 ;i<arr.length;i++){
                console.log(arr[i]);
             }

            
 常见的数组操作4:

随意地更改数组的长度
            console.log("数组修改之前的长度为" + arr.length);
            方法1: 简单操作直接修改 ,不推荐
            arr.length = 100;
             console.log("数组修改之后的长度为" + arr.length);
            方法2:直接在数组的后面添加元素即可
            arr[8] = "新元素1";
            arr[9] = "新元素2";
            arr[19] = "新元素3";
            修改元素
            arr[0] = 111;
            console.log("数组修改之后的长度为" + arr.length);
            for(var i = 0 ;i<arr.length;i++){
                console.log(arr[i]);
            }
            
            
            console.log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
            删除数组中指定的元素
            var arr = [1,2,3,4,5];
             console.log(arr);
             delete arr[2];//准确地说法应该是: 讲指定位置的元素 修改成 empty而已  并没有实现真正的删除.
            console.log(arr);
            
            如何实现真正的删除:  Java也好JS也好 都没有直接提供相对的方法.
            思路:创建一个新的数组,然后旧数组遍历 赋值给新数组.然后遍历的时候进行判断,如果到了那个值不想要,跳过
             var arr1 = [ ];
            var index = 0;
             for(var i = 0 ; i<arr.length;i++){
                 if (arr[i]==3) {
                     continue;
                 }
                 arr1[index] = arr[i];
                 index++;
              }
             console.log(arr);
             console.log(arr1);
如何创建数组

                js中创建数组的两种方式:都要掌握

1.静态声明:

声明数组的同时,将元素值都定下来。
                var  arr = [1,2,3,4,5,6,7];   //java是大括号 JS是中括号
                var  arr = [];  //创建一个长度为0的空数组
                                

2.动态声明:

暂时只声明,赋值放到后续进行
                var arr = new Array();//声明了一个空数组(长度为0)
                arr[0] = 1; arr[1] = 2;
                
                
                
                动态声明的注意事项:
                写法1:var arr = new Array(); 创建了一个长度为0的空数组
                写法2:var arr = new Array(10); 创建了一个长度为10的空数组
                写法3:var arr = new Array(1,2,3,4,5); 创建了一个长度为0的空数组
                注意事项:写法2和写法3的区分。如果括号内部只有一个数字,就表示长度,而非值
                如果有若干个,才表示值
二维数组

                javaScript中的数组:数据的类型可以不一致
                也就是意味着数组里面可以再次存储数组 来实现二维甚至多维数组
                一般来说掌握二维数组就够了。
                二维数组:可以看成  几行几列
                
            */
           

           声明二维数组的语法:


           //语法1:  var arr = new Array( new Array(10) , new Array(9) , new Array(12)  );
           
           //语法2:  var arr = [ [1,3] , [11,22,33] , [33,22,55] ];
           /*
                    var arr = [
                        [1,2],
                        [2,3,4],
                        [4,5,6]
                    ]
           
           */
           //例题:如何创建一个二维数组,要求长度为100  且二维数组里面的每个数组长度也为100,暂时不知道元素内容
           //写法1: 不推荐  var arr = new Array( new Array(10) , new Array(10)  , new Array(10) , ... ,new Array(10)  );
           //写法2:
           // var arr = new Array(100);//仅仅是一个一维数组
           // for(var i = 0 ; i<100;i++){
              //  arr[i] = new Array(100);
           // }
           // console.log(arr);
           
           
           //遍历二维数组思路: 先将二维数组看成一维数组
           
           // var arr = [ [1,2,3,4]  , [5,6,7,8]  , [11,22,33,44] ];
           // //如何遍历
           // //1.先遍历总长度
           // for(var i = 0 ; i<arr.length ; i++){
              //  //2.在遍历数组里面的数组
              //  for(var j = 0 ; j<arr[i].length ; j++){
                 //   console.log(arr[i][j]);
              //  }
           // }
           
           // //如何获取二维数组中指定的数
           // var index = arr[1][2] ; //7
           
           // var index = arr[2][1] ; //22
           
           
           
           //利用二维数组实现杨辉三角 姓名为杨辉吃饱了没事做,发明的一个三角形
           //将杨辉三角的前10行打印在页面上.
           /*
           
            1
            1   1
            1   2   1
            1   3   3   1
            1   4   6   4    1
            1   5   10  10   5   1
            1   6   15  20   15  6    1
           
           */
          
           //思路:1.找规律  几行几列的三角形   10行 和  "和行数相等的" 列
           //第几行就有几列
           //转换成二维数组,我们应该创建一个 长度为10的二维数组 ,然后数组里面的长度随之改变
           var arr = new Array(10);
           for(var i = 0;i<arr.length;i++){
               arr[i] = new Array(i+1);
           }
           //以上就声明了一个可以容纳的容器
           
           //赋值:
           for(var i = 0 ; i<arr.length;i++){//i行数
                   for(var j = 0 ; j<arr[i].length ; j++){//j列数
                    if( j==0  ||  j==i  ){
                        arr[i][j] = 1;
                    }else{
                        arr[i][j] = arr[i-1][j] + arr[i-1][j-1];
                    }
                   }
           }
           
           //以上知识点 均没有实际意义,单纯就是提升自己思维能力.解决问题的能力
           
           
           
           
           for(var i = 0 ; i<arr.length;i++){
               
               for(var j = 0 ; j<arr[i].length ; j++){
                   document.write(arr[i][j] + "  ");
               }
               document.write("<br>");
               
           }
                javaScript中的数组:数据的类型可以不一致
                也就是意味着数组里面可以再次存储数组 来实现二维甚至多维数组
                一般来说掌握二维数组就够了。
                二维数组:可以看成  几行几列
                
            */
           
           //声明二维数组的语法:
           //语法1:  var arr = new Array( new Array(10) , new Array(9) , new Array(12)  );
           
           //语法2:  var arr = [ [1,3] , [11,22,33] , [33,22,55] ];
           /*
                    var arr = [
                        [1,2],
                        [2,3,4],
                        [4,5,6]
                    ]
           
           */
           //例题:如何创建一个二维数组,要求长度为100  且二维数组里面的每个数组长度也为100,暂时不知道元素内容
           //写法1: 不推荐  var arr = new Array( new Array(10) , new Array(10)  , new Array(10) , ... ,new Array(10)  );
           //写法2:
           // var arr = new Array(100);//仅仅是一个一维数组
           // for(var i = 0 ; i<100;i++){
              //  arr[i] = new Array(100);
           // }
           // console.log(arr);
           
           
           //遍历二维数组思路: 先将二维数组看成一维数组
           
           // var arr = [ [1,2,3,4]  , [5,6,7,8]  , [11,22,33,44] ];
           // //如何遍历
           // //1.先遍历总长度
           // for(var i = 0 ; i<arr.length ; i++){
              //  //2.在遍历数组里面的数组
              //  for(var j = 0 ; j<arr[i].length ; j++){
                 //   console.log(arr[i][j]);
              //  }
           // }
           
           // //如何获取二维数组中指定的数
           // var index = arr[1][2] ; //7
           
           // var index = arr[2][1] ; //22
           
           
           
           //利用二维数组实现杨辉三角 姓名为杨辉吃饱了没事做,发明的一个三角形
           //将杨辉三角的前10行打印在页面上.
           /*
           
            1
            1   1
            1   2   1
            1   3   3   1
            1   4   6   4    1
            1   5   10  10   5   1
            1   6   15  20   15  6    1
           
           */
          
           //思路:1.找规律  几行几列的三角形   10行 和  "和行数相等的" 列
           //第几行就有几列
           //转换成二维数组,我们应该创建一个 长度为10的二维数组 ,然后数组里面的长度随之改变
           var arr = new Array(10);
           for(var i = 0;i<arr.length;i++){
               arr[i] = new Array(i+1);
           }
           //以上就声明了一个可以容纳的容器
           
           //赋值:
           for(var i = 0 ; i<arr.length;i++){//i行数
                   for(var j = 0 ; j<arr[i].length ; j++){//j列数
                    if( j==0  ||  j==i  ){
                        arr[i][j] = 1;
                    }else{
                        arr[i][j] = arr[i-1][j] + arr[i-1][j-1];
                    }
                   }
           }
           
           //以上知识点 均没有实际意义,单纯就是提升自己思维能力.解决问题的能力
           
           
           
           
           for(var i = 0 ; i<arr.length;i++){
               
               for(var j = 0 ; j<arr[i].length ; j++){
                   document.write(arr[i][j] + "  ");
               }
               document.write("<br>");
               
           }
                javaScript中的数组:数据的类型可以不一致
                也就是意味着数组里面可以再次存储数组 来实现二维甚至多维数组
                一般来说掌握二维数组就够了。
                二维数组:可以看成  几行几列
                
            */
           
           //声明二维数组的语法:
           //语法1:  var arr = new Array( new Array(10) , new Array(9) , new Array(12)  );
           
           //语法2:  var arr = [ [1,3] , [11,22,33] , [33,22,55] ];
           /*
                    var arr = [
                        [1,2],
                        [2,3,4],
                        [4,5,6]
                    ]
           
           */
           //例题:如何创建一个二维数组,要求长度为100  且二维数组里面的每个数组长度也为100,暂时不知道元素内容
           //写法1: 不推荐  var arr = new Array( new Array(10) , new Array(10)  , new Array(10) , ... ,new Array(10)  );
           //写法2:
           // var arr = new Array(100);//仅仅是一个一维数组
           // for(var i = 0 ; i<100;i++){
              //  arr[i] = new Array(100);
           // }
           // console.log(arr);
           
           
           //遍历二维数组思路: 先将二维数组看成一维数组
           
           // var arr = [ [1,2,3,4]  , [5,6,7,8]  , [11,22,33,44] ];
           // //如何遍历
           // //1.先遍历总长度
           // for(var i = 0 ; i<arr.length ; i++){
              //  //2.在遍历数组里面的数组
              //  for(var j = 0 ; j<arr[i].length ; j++){
                 //   console.log(arr[i][j]);
              //  }
           // }
           
           // //如何获取二维数组中指定的数
           // var index = arr[1][2] ; //7
           

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值