6数组
6.1 数组的概念
案例:计算五名同学的平均分
这个程序非常简单,但是如果要计算100人的呢?
要复制100编吗?
我们要用到循环
但是循环好像做不了,因为无法去控制变量a1,a2,
也就是说无法将循环变量和变量a1,a2联系起来
这段代码能够实现同样的功能,而且如果是100人的话,
只需要把循环的条件改成i<100即可,整个程序的结构
和代码量与人数的多少没有关系
为什么没有关系呢,因为和循环结合了
为什么和循环结合了呢
因为我们把变量的表示方式改变了,改变成名称加序号
的方式(a[0],a[1],a[2]……)这样的话序号就可以用循环来
控制
6.2 数组的定义与元素访问
怎么写?
定义数组有三种方式
(1)var a=[];
(2)var a=new Array();
(3)var a=[0,1,2,3,1];
如何访问数组中的元素?
A[0]=0
A[1]=1
A[4]=1
我们在使用数组的时候要注意一个下标问题,5个元素的
数组,下标只有0~4,不包括5,5已经下标越界了
数组的本质:一组变量的集合,或者说是一组内存单元
只不过对与变量的表示方式使用的是数组名加下标的方式
案例:计算方差
6.3 数组的常用属性与方法
数组的属性:
Length:
- 告诉我们数组的长度:数组名.length
- 通过该属性可以改变数组的长度
数组的常用方法
- unshift:在数组的头部添加元素,返回值返回的是新
数组的长度
Shift:删除数组头部的元素,返回值是刚刚删除的元素
- indexOf:查找在数组中重复出现的元素第一次出现的位置
lastindexOf:查找在数组中重复出现的元素最后一次出现的位置
- push:在数组的尾部插入元素,返回值是添加元素后数组的长度
pop:从数组的尾部删除一个元素,返回值是删除的元素
- slice(开始位置的下标,结束位置的下标)
提取数组中指定连续的子数组,前面包括,后面不包括
- splice(开始删除位置的下标,要删除元素的长度,要选择插入或替换的内容)
splice有“剪接”的含义,前面两个参数定义的是“剪”的部分
第三个参数定义的是“接”的部分,经过不同的参数组合,就能实现
以下三个功能:
- 删除操作,删除数组中指定的任意元素
- 插入操作,在数组中指定的位置插入元素
- 替换操作,在数组中替换指定位置的元素
- reverse,将数组中的元素,反序输出,在原数的基础上进行反序输出
不会创建新数组的