一、概述 1.1、问题         思考:之前学习过变量,我们说变量的本质是计算机内存的一块空间,而我们定义的一个变量,一次只能存储一个值,比如说,张三的姓名存储起来,可以定义一个username这样的变量。但是问题是:如果我们想存储班级中所有学生的姓名,那么该如何存储呢?
        答:可以使用数组(Array),数组可以把一组相关的数据一起存放,并提供非常方便的访问(获取)方式。
1.2、简介 1 2 3 # 1. 数组(Array)是指一组数据的集合,其中的每个数据被称作元素。 # 2. 在数组中可以存放任意类型的元素。 # 3. 存储一组具有“相同数据类型”的数据结构。 
二、创建数组 2.1、概述         在JavaScript中,创建数组有整体来说,有两种方式。
2.2、利用 new 创建数组 2.2.1、新建一个长度为0的数组 1 2 3 4 <script >        var  arr = new  Array (); </script > 
2.2.2、新建长度为n的数组 1 2 3 4 <script >        var  arr = new  Array (3 ); </script > 
2.2.3、新建指定长度的数组,并赋值 1 2 3 4 <script >        var  arr = new  Array (1 , 2 , 3 , 4 , 5 ); </script > 
2.3、利用数组字面量创建数组 1 2 3 4 5 6 7 <script >    	    	var  arr = [];             	var  arr1 = ["张三" , "李四" , "王五" ];  </script > 
数组的字面量是方括号 [] 
声明数组并赋值称为数组的初始化 
这种字面量方式也是我们以后最多使用的方式 
 
三、数组的下标 3.1、概述         索引 (下标) :用来访问数组元素的序号(数组下标从 0 开始)。
3.2、案例 1 2 3 4 5 6 7 8 9 10 <script >        var  arr = ["张三" , "李四" , "王五" ];    console .log (arr[0 ]);     console .log (arr[1 ]);     console .log (arr[2 ]);     console .log (arr[3 ]);  </script > 
四、数组的长度 4.1、概述         使用“数组名.length”可以访问数组元素的数量(数组长度)。
4.2、案例 1 2 3 4 5 6 7 8 9 <script >        var  arr = ["张三" , "李四" , "王五" ];        var  len = arr.length ;    console .log ("该数组的长度是:"  + len);	 </script > 
4.3、注意 
五、遍历数组 5.1、概述         就是把数组的元素从头到尾访问一次。
5.2、方式一 1 2 3 4 5 6 7 8 9 <script >        var  arr = ["张三" , "李四" , "王五" ];        for  (var  i = 0 ; i < arr.length ; i++) {       	console .log (arr[i]);    } </script > 
5.3、方式二 1 2 3 4 5 6 7 8 9 <script >          var  arr = ["张三" , "李四" , "王五" , "赵六" ];          for  (var  index in  arr) {        console .log (arr[index]);     } </script > 
5.4、方式三 1 2 3 4 5 6 7 8 9 <script >        var  arr = ["张三" , "李四" , "王五" , "赵六" , "猪头" ];        for  (var  item of  arr) {       console .log (item);    } </script > 
六、数组中新增元素 6.1、通过修改 length 长度新增数组元素 
可以通过修改 length 长度来实现数组扩容的目的 
length 属性是可读写的 
 
1 2 3 4 5 6 7 8 9 <script >    	var  arr = ["张三" , "李四" , "王五" ];     console .log ("数组的长度是:"  + arr.length );          arr.length  = 5 ;     console .log (arr[3 ]);      console .log (arr[4 ]);  </script > 
6.2、通过修改数组索引新增数组元素 
1 2 3 4 5 6 7 8 9 10 11 <script >     var  arr = ["张三" , "李四" , "王五" ];     console .log ("数组的长度是:"  + arr.length );          arr[5 ] = '赵六' ;          console .log (arr[3 ]);      console .log (arr[4 ]);      console .log (arr[5 ]);  </script > 
7、数组练习 7.1、案例1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <script >               var  sum = 0 ;      var  average = 0 ;      var  arr = [2 , 6 , 1 , 7 , 4 ];     for  (var  i = 0 ; i < arr.length ; i++) {      	sum = sum + arr[i];     }     average = sum / arr.length ;          console .log (sum, average); </script > 
7.2、案例2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <script >               var  arr = [2 , 6 , 1 , 77 , 52 , 25 , 7 ];     var  max = arr[0 ];     for  (var  i = 1 ; i < arr.length ; i++) {         if  (max <= arr[i]) {              max = arr[i];         }     }     console .log ("数组中最大元素是:"  + max); </script > 
7.3、案例3 7.3.1、需求         将数组 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中大于等于 10 的元素选出来,放入新数组。
7.3.2、方式一 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <script >          var  arr = [2 , 0 , 6 , 1 , 77 , 0 , 52 , 0 , 25 , 7 ];          var  newArr = [];               var  j = 0 ;     for  (var  i = 0 ; i < arr.length ; i++) {         if  (arr[i] > 10 ) {              newArr[j] = arr[i];              j++;         }     }     console .log ("新数组的元素:"  + newArr); </script > 
7.3.3、方式二 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <script >          var  arr = [2 , 0 , 6 , 1 , 77 , 0 , 52 , 0 , 25 , 7 ];          var  newArr = [];               for  (var  i = 0 ; i < arr.length ; i++) {         if  (arr[i] > 10 ) {             newArr[newArr.length ] = arr[i];	          }     }     console .log ("新数组的元素:"  + newArr); </script > 
7.4、翻转数组 7.4.1、需求         将数组 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]的内容反过来存放。
7.4.2、方式一:存入新数组 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <script >          var  arr = [2 , 0 , 6 , 1 , 77 , 0 , 52 , 0 , 25 , 7 ];          var  newArr = [];          for  (var  i = arr.length  - 1 ; i >= 0 ; i--) {         newArr[newArr.length ] = arr[i];     }     console .log (newArr); </script > 
7.4.3、方式二:原来数组的基础上翻转 1 2 3 4 5 6 7 8 9 10 11 12 <script >        var  arr = [2 , 0 , 6 , 1 , 77 , 0 , 52 , 0 , 25 , 7 ];        for  (var  i = 0 ; i < arr.length  / 2 ; i++) {       var  temp = arr[i];       arr[i] = arr[arr.length  - i - 1 ];       arr[arr.length  - 1 ] = temp;    }  	console .log (arr); </script >