第三章 数组

一.初识数组

数组构成:由一个或多个数组元素组成的,各元素之间使用逗号","分割。

数组元素:每个数组元素由"索引下标"和"值"构成。

根据维数划分为一维数组、二维数组、三维数组等多维数组


二.创建数组

实例化Array对象的方式

     // 元素值类型为字符串    

      var area = new Array('Beijing', 'Shanghai', 'Shenzhen');

    // 元素值类型为数值型

      var score = new Array(56, 68, 98, 44);

     // 元素值类型为混合型

       var mix = new Array(123, 'abc', null, true, undefined);

     // 空数组

       var arr1 = new Array(); 或var arr2 = new Array;

直接使用" [  ] "的方式

         var weather = ['wind', 'fine',]; // 相当于new Array('wind', 'fine',)

         var empty = []; // 相当于:new Array

          // 控制台输出:["sad", empty × 3, "happy"]

         var mood = ['sad', , , ,'happy'];


三.数组的基本操作

获取数组长度

        ar arr1 = [78, 88, 98]; 

        var arr2 = ['a', , , , 'b', 'c'];

        console.log(arr1.length); // 输出结果为:3

       console.log(arr2.length); // 输出结果为:6

数组的访问与遍历

       数组元素访问方式:"数组名[下标]"。

       利用下标遍历数组:使用for

       利用下标遍历数组:使用for...in语句

元素的添加与修改

       访问数组中的元素的方式相同

元素的删除

       delete关键字只能删除数组中指定下标的元素值,删除后该元素依然会占用一个空的存储位置

       varstu= ['Tom', 'Jimmy', 'Lucy'];

       console.log(stu );// 输出结果:["Tom", "Jimmy", "Lucy"]

       delete stu [1];// 删除数组中第2个元素

       console.log(stu );// 输出结果:["Tom", empty, "Lucy"]


四.常见的二维数组操作

 创建和遍历

   1.   // 使用Array对象创建数组

        var info = new Array(new Array('Tom', 13, 155), new Array('Lucy', 11, 152));

        var arr= new Array(new Array, new Array); // 空二维数组

        // 使用"[]"创建数组

         varnum= [[1, 3], [2, 4]];

         varempty = [[ ], [ ]];// 空二维数组

   2.    vararr= [ ];         // 创建一维空数组

          for(let i = 0; i< 3; ++i){

                arr [i] = [ ];       // 将当前元素设置为数组

                arr [i][0] = i; // 为二维数组元素赋值

         }

注意:若要为二维数组元素(如arr[i][0])赋值,首先要保证添加的元素(如arr[i])已经被创建为数组,否则程序会报"Uncaught TypeError......"错误。

二维数组的转置(案例)

                     效果:


数组排序

    方法:冒泡法,插入排序(数据结构课重点)


常见的数组方法

    1.栈和队列方法

           利用Array对象提供的栈和队列方法实现数组元素的添加与删除。

         注意:push()和unshift()方法的返回值是新数组的长度。

                   pop()和shift()方法返回的是移出的数组元素。

    2.检索方法

             在开发中,若要检测给定的值是否是数组,或是查找指定的元素在数组中的位置。

             eg  .var data = ['peach', 'pear', 26, '26', 'grape'];

                    // 从数组下标为3的位置开始检索数字26

                    console.log(data.includes(26, 3)); // 输出结果:false

                    // 从数组下标为data.length- 3 的位置查找数字26

                    console.log(data.includes(26, -3)); // 输出结果:true

                  // 判断变量data是否为数组

                   console.log(Array.isArray(data)); // 输出结果:true

  3.数组转字符串

               eg.     vararr= ['a','b','c'];

                         console.log(arr.join()); // 输出结果:a,b,c

                         console.log(arr.join(' -')); // 输出结果:a-b-c

                         console.log(arr.toString());// 输出结果:a,b,c

              注意:join()和toString()方法的相同点:可将多维数组转为字符串,默认情况下使用逗号连接。

                                                                               当数组元素为undefined、null或空数组时,对应的元素会被转换为空字符串。

                         join()和toString()方法的不同点:join()方法可以指定连接数组元素的符号。

 4. 其他方法

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.用js实现随机选取10~100之间的10个数字,存入一个数组,并排序 //要是获取不重复的,则对随机数...
    persistlu阅读 10,943评论 0 0
  • 简述JavaScript起源起源于美国的Netscape公司,原名为LiveScript,后改为JavaScrip...
    3ab670b99521阅读 8,199评论 0 0
  • 第五章******************************************************...
    fastwe阅读 3,978评论 0 0
  • 第三章 数组 数组是一个可以存储一组或一系列数值的变量 一个包含其他数组的数组称为多维数组。 关联数组允许使用更...
    梁烨端木阅读 4,079评论 0 0
  • 坚持使用迈金骑行台进行减脂训练, 效果明显, 但是没上车之前还是要做一番思想斗争, 腿就不自觉的发酸, 上车开始骑...
    深秋乱步阅读 1,410评论 0 4