第一节:数组
1.1 什么是数组(数组就是一组数)
 数组(Array)是有序的元素序列。 [1] 若将有限个变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把若干元素按有序的形式组织起来的一种形式。 [1] 这些有序排列的数据元素的集合称为数组。数组是用于储存多个相同类型数据的集合。
数组是有次序的元素序列:
数组中的每一个元素都有一个属于自己的编号 编号从0开始,到数组长度减1为止, 被称为下标。
数组的中数据如何存取:
通过下标存取,就是区分数组中的每一个数据。
1.2 为什么要用数组
对于存储大量数据的时候, 数组可以方便的批量开辟空间,存储批量数据,不需要一个一个定义变量。
1.3 数组的常规使用
-  数组的定义 // 方式一:创建一个空数组,没有空间长度 var 数组名 = new Array(); // 方式二:创建指定长度空间的数组 var 数组名 = new Array(长度数字); // 方式三:创建具有一些初始值的数组 var 数组名 = new Array(数据1,数据2,数据3); // 方式四: 用字面量"[]",创建空数组。**常用** var 数组名 = []; // 方式五: 用字面量"[]",创建有初始值的数组 **常用** var 数组名 = [数据1,数据2,数据3...];
数组的取值和赋值
数组取值:数组名[下标];
数组赋值(修改):数组名[下标] = 要修改的值;
<script type="text/javascript">
			// 用字面量的方式创建数组
			//var ary = [];
			//alert(ary+" "+typeof(ary));
			//var ary2 = new Array();
			//alert(ary2+" "+typeof(ary2));
			
			//var ary = [];
			//document.write("数组长度:"+ary.length+"<br/>");
			// 为数组元素赋值
			// 虽然数组没有初始空间,可以通过下标动态扩展空间
			// ary[0] = 10;
			// ary[1] = 20;
			// ary[2] = 30;
			// 跳过了3,4下标
			//ary[5] = 50;
			//document.write("数组长度:"+ary.length+"<br/>");
			//document.write(ary);
			
			// 使用字面量定义有初始值的数组
			var ary = [40,32,34,55,67,89];
			document.write("长度:"+ary.length+" 下标:0 - "+(ary.length-1)+"<br/>"); //长度6 下标:0-5
			// 批量输出
			document.write(ary+"<br/>"); // 直接打印数组变量,会自动输出所有元素
			// 挨着输出每个元素
			document.write(ary[0]+"<br/>");
			document.write(ary[1]+"<br/>");
			document.write(ary[2]+"<br/>");
			document.write(ary[3]+"<br/>");
			document.write(ary[4]+"<br/>");
			document.write(ary[5]+"<br/>");
			
			document.write("<hr/>");
			// 用循环方式输出数组元素
			for(var i=0;i<6;i++){
				// 输出下标
				//document.write(i);
				document.write(ary[i]+"<br/>");
			}
			
			// 修改值:将下标为3的数组元素改为1000
			ary[3] = 1000;
			document.write(ary);
			
			
		</script>数组遍历
使用普通for循环遍历重点练习
var ary1 = new Array();
			ary1[0]=10;
			ary1[1]=20;
			ary1[2]=30;
			for(var i=0;i<ary1.length;i++){
				document.write(ary1[i]+" ");
			}
			document.write("<br/>");
			
			var ary2 = new Array("aaa","bbb","ccc");
			for(var i=0;i<ary2.length;i++){
				document.write(ary2[i]+" ");
			}
			document.write("<br/>");
			
			// 数组中可以存储任意类型的元素
			var ary3 = [];
			ary3[0] = 10;
			ary3[1] = "张三";
			ary3[2] = 200;
			ary3[3] = 1.234;
			for(var i=0;i<ary3.length;i++){
				document.write(ary3[i]+" ");
			}
			
			document.write("<br/>");
			
			// new Date():当前的系统时间
			var ary4 = ["aaa",100,230,true,1.234,new Date()];
			for(var i=0;i<ary4.length;i++){
				document.write(ary4[i]+" ---- ");
			}使用for in遍历
 var ary = [20,30,10,50];
			// for 索引输出
			for(var i=0;i<ary.length;i++){
				document.write(ary[i]+" ");
			}
			document.write("<br/>");
			
			// forEach 循环输出
			for(var i in ary){  // 依次访问数组元素的下标,存储到i中
				// i : 就是数组元素的下标: 0 到 长度-1
				//alert(i);
				alert(ary[i]);
			}1.4 数组的操作
扩展:选择排序,二分法 了解。
-  数组的查找 (重点练习) 1.请输入5个学生的成绩,并存储到数组中 2.遍历数组查找分数是80分的,是第几个学生  // 定义数组 var scoreAry = []; // 使用循环依次输入5个学生的分数 for(var i=0;i<5;i++){ // 接收分数 var score = Number(prompt("请输入第"+(i+1)+"个学生的分数:","")); // 存储到数组对应下标的空间中 scoreAry[i] = score; } // 输出输入的5个分数 document.write(scoreAry); // 扩展: 请输入你要查找的分数 // 遍历输出数据,判断是否有80分 // 定义标记变量,假设没有80分的 var flag = false; for(var i=0;i<scoreAry.length;i++){ //document.write(scoreAry[i]+" "); // 遍历数组中每个元素的时候,判断当前元素是否是80分 if(scoreAry[i]==80){ alert("找到80了,下标:"+i); flag = true; // 一旦找到,将标记变量改为true break; } } // 判断标记为false,提示没有找到 if(flag==false){ alert("对不起,没有80分的学生"); } // 扩展: 自己输入要找的数据,实现任意分数的查找
-  数组的插入 
-  数组的删除 
-  冒泡排序 
-  扩展:选择排序,二分法 了解。 名称 描述 join(分隔符) 将数组转换为使用符号连接的字符串 concat(arr1,arr2) 与另一个数组合并为一个新数组 reverse() 将数组反转 sort() 对数组进行排序 push(ele1,ele2) 向数组末尾添加新元素 unshift(ele1,ele2) 向数组的开头添加新元素 pop() 删除数组中末尾的值 返回删除的值 shift() 删除数组中开头的值 返回删除的值 与pop()相反 splice(位置,删除个数,新数据..) 删除、替换、插入数组元素 indexOf(ele) 查找元素的下标位置 










