根据前面所学,我们知道,变量可以储存值,但是一次只能储存一个值,可是事实中,有时我们需要储存很多值,比如储存一个班所有学生的成绩,这时变量就无法作用了。我们需要请出JS中一个新的内容---数组(Array)。
数组:指的是一组数据的集合,集合中每个数据称为元素,数组中可以存放任意类型的元素,但是我们一般同一个数组放相同类型的数据。
// 普通变量一次只能存储一个值 var num=100; // 数组一次可以存储多个值 var arr=[100,96,88,90];
1. 创建数组
JS中给我们提供了两种创建数组的方式:
1.1 利用数组字面量创建
var 数组名 =[]; // 使用数组字面量方式创建了一个空数组 var 数组名 =['red','green','blue']; // 使用数组字面量方式创建了一个带初始值的数组
注意:
① 数组的字面量[ ];
② 声明数组并赋值称为数组的初始化
③ 这种字面量方式是我们以后最多使用的方式
1.2 利用new 创建数组
var 数组名 = new Array(); var arr = new Array(); 创建了一个空数组
注意:
① 这种new的方式,是利用构造函数Array() 进行创建的
② 注意 Array() , A要大写
2. 获取数组元素
由于数组里面有多个值,所以为了区分值,以便于顺利找出对应的值,数组每个元素都有对应的索引号,也可称为下标,注意数组下标是从0开始的,即第一个元素的索引号为0,第二个元素的索引号为1,以此类推。
数组可以通过索引来获取、设置、修改对应的数组元素,具体的语法使用是“数组名[索引]”。
var arr =['red','green','blue']; // 创建数组 console.log(arr[1]); // 获取数组中的第2个元素--green 注意索引从0开始
3. 遍历数组元素
所谓遍历数组元素,就是把数组中的元素从头到尾的访问一次,换言之就是获取每个元素。
由于每个数组元素都有唯一的索引号,而从数组中取出每一个元素的代码,除了索引号以外,都是一样的,所以我们可以借助前面所学的循环语句,来帮助取出数组中的每一个元素。
我们知道数组的索引是从0开始的,所以最后一个元素的索引号=数组元素的个数-1,而数组元素的个数即为数组的长度,使用“数组名.length” 即可得到。
var arr = [1, 2, 3, 4, 5, 'red', 'green', 'blue']; for (var i=0;i<arr.length;i++) { // 循环中的计时器i,在这当索引号使用,所以i从0开始,直到最后一个元素的索引号arr.lenth-1, // 但这里使用的是<,所以为arr.length console.log(arr[i]); // arr[i]表示数组中的第i个元素 }
4. 数组中新增元素
4.1 通过修改 length 长度新增数组元素
var arr = ['red', 'green', 'blue']; console.log(arr.length); // 结果为3 arr.length=5; // 手动更改数组长度为5 console.log(arr); // 结果为 ["red", "green", "blue", empty × 2] console.log(arr[3]); // 结果为undefined console.log(arr[4]); // 结果为undefined // 这是因为索引号3,4的空间,只声明变量未赋值,即为初始值undefined
4.2 通过修改数组索引新增数组元素
var arr = ['red', 'green', 'blue']; arr[3]='skyblue'; // 数组目前只有三个元素,索引3即为第4个元素,此时为其赋值就可实现追加元素效果 console.log(arr); // 结果为 ["red", "green", "blue", "skyblue"]
注意:这种方式是我们最常用的一种方式。
数组是一种非常重要的存储值的对象,后续我们还会学习许多有关数组对象的方法和属性。今日介绍的是数组的基础知识,一定要先掌握理解,然后才能更好的学习后续内容。