美文网首页
三、数组

三、数组

作者: 帅气的Lucky | 来源:发表于2021-09-20 21:59 被阅读0次

    数组

    一、数组的定义与概述

    1、概述

    数组的字面意思就是一组数据,一组(一般情况下相同类型)的数据(不一定都是数字)

    数组的作用是:使用单独的变量名来存储一系列的值。

    2、数组的定义

    • new Array(参数,参数,...): 只有一个数字参数时是数组的长度(new可以省略,但一般尽量写上)

      var arr = new Array();   //定义一个空数组 
      // 定义长度为10 的数组
      var arr = new Array(10);  //创建一个包含 10 个元素的数组,没有赋值
      var mycars=new Array(3)
      mycars[0]="Saab"
      mycars[1]="Volvo"
      mycars[2]="BMW"
      
    • 创建带值的数组

      var arr2 = new Array("芙蓉姐姐”,30); //创建一个数组有两个元素

    • 字面量定义方式

      vararr3 = [1,2,3,4,5]; //字面量定义方式

    • 快捷定义二维数组

      vararr3 = [['a','b','c','d'],'b','c','d']; //快捷定义二维数组

      console.log(a[0][0])

    二、数组的访问

    1、数组的下标

    • 下标就是索引,即元素的序号,从0开始,下标最大取值是:数组的长度(length)-1;

    • 下标可以是变量或表达式。

    2、使用数组元素(访问)

    • arr3[0]:表示数组的第一个元素,0是下标,也叫索引

    • arr[1]:表示数组的第二个元素,1是下标

    3、数组的长度(length属性)

    • 数组元素的个数

      arr.length

    • length属性,不止是只读的,可以设置

      var colors = new Array("red", "blue", "green");
      colors.length=2;
      colors[2];
      
    • 注意

      • 如果设置的length的长度大于原有长度 则使用empty来占位
      • 如果设置的length的长度小于原有长度 则会将小于长度个数的元素删除掉

    三、数组的使用与常用方法

    1、数组的赋值

    • 概述

    给数组赋值,就是给数组的元素赋值,需要通过给数组的每个元素一一赋值,

    • 实例

      arr[0] = 20;//让数组的第一个元素的值为20;

      arr[1] =12;//让数组的第二个元素的值为12;

      • 以下为通过循环给数组的每个元素赋值,赋成下标的平方。

         for(vari=0;i<10;i++){
           arr[i] = i*i
         }
        
      • 以下为通过循环给数组的每个元素赋值,随机数:Math.random()

         for(vari=0;i<10;i++){
           arr[i] = Math.random();
         }
        

    2、使用

    • 概述

      不能一次使用整个数组,使用数组就是在使用数组的每个元素,因为数组相当于若干个相同类型的变量。

    • 遍历数组:

      • 普通for循环

        for(var i=0;i<5;i++){
           document.write(arr[i]);
        }
        
      • for...in语句用于遍历数组或者对象的属性(快速遍历)

        for(var i in arr){
            document.write(arr[i]);
        }
        
    • 练习题

      1.求数组中所有元素的和;
      2.求数组的最大数和最小数(重要)
      3求数组的最小数的下标(重要)
      4.请将数组[1,46,74,3,5,5]中的元素右移1位。
      5.插数:在数组[1,46,74,3,5,5]的下标为2的位置插入一个数字8,结果为[1,46,8,74,3,5,5] 
      6.在1-50中随机出10个不同的数字
      

    3、常用方法

    • push() 方法可以接收任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数组的长度。

      数组末尾添加一个元素,并且返回长度

      alert(box.push('盐城'));

    • pop()方法 则从数组末尾移除最后一个元素,减少数组的 length 值,然后返回移除的元素。

      移除数组末尾元素,并返回移除的元素

      box.pop()

    • shift() 方法从数组前端移除一个元素,

      alert(box.shift()); 移除数组开头元素,并返回移除的元素

    • unshift() 方法从数组前端添加一个或多个元素。

      alert(box.unshift(‘广东’,‘深圳')); 数组开头添加两个元素

    • reverse() 逆向排序,原数组也被逆向排序了

      var box = [1,2,3,4,5];
      alert(box.reverse()); //逆向排序方法,返回排序后的数组
      alert(box);    
      
    • sort() //从小到大排序 , 原数组也被升序排序了

      var box = [4,1,7,3,9,2];
      alert(box.sort());   //从小到大排序,返回排序后的数组
      alert(box);  
      
    • concat() : 追加数据, 创建一个新数组, 不改变原数组

      var box = [2, 3, 4, '绿箭侠', '黑寡妇'];
      var box2 = box.concat('美队', '雷神');
      alert(box);
      alert(box2);
      
    • slice(): 不修改原数组, 将原数组中的指定区域数据提取出来

      varbox = [2, 3, 4, "绿巨人"];
      varbox2 = box.slice(1, 3); //并没有修改原数组,将原数组中的元素提取出来,生成新数组,取的是下标在区域: [1,3)
      alert(box);
      alert(box2);
      
    • splice(): 截取原数组中指定的数据, 会改变原数组

      插入: 如果有3个或以上参数,且第二个参数(长度)为0,则表示插入
      box.splice(1, 0, "绿巨人","冬兵"); 
      
              //在下标为1的位置插入:"绿巨人","冬兵"
      
      替换: 如果有3个或以上的参数, 且第二个参数(长度)不为0, 则表示替换
      
        box.splice(1, 1, "绿巨人","冬兵"); 
      
              //在下标为1的位置替换成:"绿巨人","冬兵"
      
      删除: 如果只有两个参数, 则表示删除指定区域的数据
      
        box.splice(0, 2);  //删除原数组的部分数据, 并返回截取的数据
      
    • box.join() 用数组的元素组成字符串

    • 冒泡排序

      //冒泡排序
      var arr = [1,4,2,7,3,5];
        for(var i=0;i<arr.length-1;i++){
          for(var j=0;j<arr.length-1-i;j++){
            if(arr[j]>arr[j+1]){
              var max = arr[j];
              arr[j] = arr[j+1];
              arr[j+1] = max;
            }
          }
        }
      console.log(arr);
      

    相关文章

      网友评论

          本文标题:三、数组

          本文链接:https://www.haomeiwen.com/subject/lldsgltx.html