0
点赞
收藏
分享

微信扫一扫

第四章 组 数

慕容冲_a4b8 2022-01-10 阅读 197

第一节:数组

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)查找元素的下标位置
举报

相关推荐

第四章

第四章总结

第四章:表

第四章、数组

第四章:Hbase

0 条评论