数组的简单介绍

267 阅读3分钟

一、概念

对象中可以通过键值对存储多个数据,且数据的类型是没有限制的,所以通常会存储一个商品的信息或一个人的信息:

比如下面来看

var person = {
    name:"张三",
    age:12,
    sex:"男"
}

但对象在存储同类型数据的时候比较困难,例如,存储一个班级所有人的姓名:

var all = {
    name1:"张三",
    name2:"李四",
    name3:"王五",
    ...
}

人太多了,所以我们很难把他写出来,也很难去通过他的姓名去获取他的其他信息,或者通过他的其他信息去知道他的姓名。

所以我们接着学习了

二、数组定义

var arr = []
var arr = ['a','b','c','d','e']
console.log(arr);  


//运行结果
//1.  0: "a"
1.  1: "b"
1.  2: "c"
1.  3: "d"
1.  4: "e"
1.  length: 5

数组中的数据类型没有限制,在实际项目中,数组中通常会存储同一类型的数据

var arr = ['a',2,false,undefined,{name:"张三"}];
console.log(arr);    

//运行结果
//1.  Array(5)
1.  1.  0: "a"
    1.  1: 2
    1.  2: false
    1.  3: undefined
    1.  4: {name'张三'}
    1.  length: 5

数组这种数据,相当于在一个大空间中,有很多小空间,每个值前面的数字,表示这个小空间的编号,专业术语叫下标。第一个下标永远是0,依次向后递增,最后一个下标是值的个数-1

也就是说,数组这种数据中每个值是有顺序的。

js还提供了一个构造函数,用来创建数组:

var arr = new Array("张三","李四","王五")
con.log(arr)
与
var arr = [5]
var brr = new Array(5)
console.log(arr,brr)

这两种方式定义的数据是一样的。

有一种情况,这两种定义方式是不一样的:

数组的规律:

第一个值的下标永远是0;
最后一个值的下标永远是值的个数-1。

数组中值的个数:数组.length

var arr = ['张三',"李四","王五","赵六"];
var brr= [1,2,3,4,5,6];
console.log(arr.length); // 4
console.log(brr.length); // 6

访问数组中的元素:数组[下标]

var arr = ["张三","李四","王五"];
console.log(arr[1]); // 李四

第一个值永远是:数组[0];最后一个值永远是:数组[数组.length-1]

添加元素:数组[下标] = 值

arr[2] = "王五";
console.log(arr); // (3) ["张三", "李四", "王五"]
arr[10] = "赵六";
console.log(arr); // (11) ["张三", "李四", "王五", empty × 7, "赵六"] 中间还有7个空元素

使用说明:如果下标是已经存在的,那赋值操作就是修改数组元素的值,如果下标是不存在,那赋值操作就给数组添加元素。

删除元素:delete 数组[下标]

var arr = [1,2,3];
delete arr[0];
console.log(arr)
输出为:
[empty,2,3]

这种删除方式,只能删除值,并不能删除小空间。

数组长度的赋值:

var arr = [1,2,3];
arr.length = 0;
console.log(arr) // []

var arr = [1,2,3];
arr.length = 10;
console.log(arr)

输出为: [(10) [1,2,3,emty x 7]

var arr = [1,2,3];
arr.length = 1;
console.log(arr) // [1]

遍历数组:

如果要将数组中的所有元素都输出,操作如下:

var arr = ["张三","李四","王五","赵六"];
console.log(arr[0]); // 张三
console.log(arr[1]); // 李四
console.log(arr[2]); // 王五
console.log(arr[3]); // 赵六

从上面输出的代码中可以看出,多次输出是在进行重复动作,并且多次重复之间是有规律可循的,所以可以使用循环进行这个重复动作:

var arr = ["张三","李四","王五","赵六"];
var length = arr.length;
for(var i=0;i<length;i++){ 
    console.log(arr[i]);
}

结果:张三 李四 王五 赵六

这种使用循环将数组中每个元素输出的操作叫做数组的遍历 - 每个元素都经历一次

遍历对象的for in语法也可以遍历数组: