Chap12_数组与集中处理方法

一 、数组概念

[wm_notice]用来存储多个数据(变量)的容器,存储在数组中的数据称为数组的元素。【水彩笔】【月饼盒】 特点:便于集中统一管理某些数据[/wm_notice]

例:定义多个变量表示学生的成绩,不便于同一维护

var stu1 = 59;
var stu2 = 60;
var stu3 = 70;
var stu4 = 80;
var stu5 = 45;
var stu6 = 50;
var stu7 = 55;
var stu8 = 61;
//.....100名学生就要定义 100个变量
			
//如何同时为每位同学的成绩加十分?
//如何计算班级平均分?
//如何将不及格的学生成绩改为及格?

[wm_warn]生活中的统一操作:军训(稍息,立正),打仗。反例:《让子弹飞》[/wm_warn]

二、定义数组

1、定义数组语法

【对比变量】

var 数组名称 = [];

var as = [];

2、创建数组时添加数据语法

var as = [数据1,数据2,数据3...];

var as = [59 , 60 , 70 , 80 , 45 , 50 , 55 , 61];
//在控制台输出as中的内容
console.log( as );

此时 as 就表示了一组数据

三、数组存取与删除

[wm_notice]有些时候数组由系统创建 或 无法在创建时得到数据并存入数据 此时必须通过数组提供的函数,当得到数据时再存入数组中[/wm_notice]

1、添加元素(数据 )

语法

数组名称.push( 数据 );

例:向数组中添加数据

var as = [];
//向数组中添加一个元素10
as.push(  10 );
//向数组中添加一个元素20
as.push(  30 );
as.push(  40 );
as.push(  50 );

//在控制台中输出  as
console.log( as);

数组中可以存储任何类型的数据与元素

2、获取元素(数据)

【数据存进去了,怎么用?之前用变量还有个名字,现在每个元素叫什么】

【数组叫什么?as,as[],中括号里写下标,as[下标 ],这就是元素的名字】

数组为每个元素都进行了编号,编号表示该元素在数组中的位置 在程序中我们称该编号为数组的下标 下标从0开始到数组长度-1结束,通过下标可以获取数组中的元素

语法

数组名称[下标];

var as = [50,10,800];
as[0];//数组中的第 1 个元素【第一个变量,名为as[0]】
as[1];//数组中的第 2 个元素【第二个变量,名为as[1]】
as[2];//数组中的第 3 个元素

var a1 = as[0];//提取数组中的第 1 个元素【提取变量,a1可以表示as[0]但不属于数组】
var a2 = as[1];//提取数组中的第 2 个元素【如a = 10, b =  a; b变化不会影响a】
var a3 = as[2];//提取数组中的第 3 个元素
			
//输出数组中的第 1 个元素
console.log( as[0]  );
//输出数组中的第 2 个元素
console.log( as[1]  );
//输出数组中的第 3 个元素
console.log( as[2]  );

使用循环遍历数组【重点】

[wm_tips]遍历数组:获取数组中的每一个元素[/wm_tips]

例:当数组元素很多时不便于统一操作

var as = [50,10,800];			
//输出数组中的第 1 个元素
console.log( as[0]  );
//输出数组中的第 2 个元素
console.log( as[1]  );
//输出数组中的第 3 个元素
console.log( as[2]  );

(重复的步骤放到循环中,不重复的步骤放到循环之外,有规律的变量想办法用循环变量替代)

例:使用循环遍历【重点】

var as = [50,10,800];
//已知as数组长度为3,下标范围0~2
//使用循环变量i充当下标,控制下标范围区间在0~2
//每次循环可以获取数组中的一个元素,直到最后一个元素
for(var i=0; i<3; i++){
    //输出数组中的某个元素
    console.log( as[i]  );
}

【遍历失败案例】例:数组长度改变,遍历失败(准备一个长度为4的数组)

3、获取数组长度

[wm_notice]数组的长度等于数组中的元素个数 在程序中可以动态的获取数组长度,以便在数组元素个数改变时,依然能够正确遍历[/wm_notice]

动态获取数组长度

数组名.length;
例如
var as = [10,20,30];
as.length;//获取as数组长度

使用数组长度增强遍历

//遍历数组
for( var i = 0; i<数组名.length; i++){
    //获取数组中的某个数据
	var a = as[i]);
    //输出到控制台中
	console.log( a );
}

4、删除元素(数据 )

语法

数组名称.splice(下标 , 个数);
个数:从下标位置开始(含下标位置的元素)删除几个元素

例:删除数组中的某一个元素

var as = [100,200,300,400,500];
//删除数组中的某一个元素  数组名称.splice(下标 , 1);
//2:下标
//1:删除1个元素
as.splice(2,1);
//结果:[100,200,400,500];

例:删除数组中的多个元素

var as = [100,200,300,400,500];
//输出as数组中的元素
//从下标0开始删除3个元素 0、1、2元素将被删除
as.splice(0,3);
//结果[400,500];

发表评论