数组简介
数组(Array)属于内置对象。
数组和普通对象的功能类似,也是用来存储一些值的。不同的是:
- 普通对象是使用字符串作为属性名的,而数组是使用数字来作为索引来操作元素,索引:从0开始的整数就是索引。
数组的存储对象性能比普通对象要好得多。
数组的基本操作
数组的元素可以是任意的数据类型,也可以是对象,函数,数组。
数组的元素中,如果存放的是数组,称这种数组为二维数组。
创建数组对象
方式一:字面量定义,举例:
var arr = [1,2,3,4,5]
console.log(typeof arr)
打印结果:
从打印出的结果看,数组的类型其实也属于对象。
方式二:对象定义(数组的构造函数)。
语法:
var city = new Array()//参数为空
var city1 = new Array(4)参数为四个空值
var city2 = new Array(3,4,6)//参数为三个数值
console.log("city1 = "+ JSON.stringify(city))
console.log("city1 = "+ JSON.stringify(city1))
console.log("city1 = "+ JSON.stringify(city2))
打印结果:
向数组中添加元素
向数组中添加元素是根据数组的索引值添加,例如
var arr = []
arr[0]=10//给数组arr添加索引为0值为10的数
arr[3]=39//给数组arr添加索引为3值为39的数
console.log(arr)
打印结果:
获取数组中的元素
语法:
数据[索引]
数组的索引代表的是数组中的元素在在数组中的位置,例如索引为0 就是数组中第一个数,索引为1就是数组中第二个数,依次类推。
如果不存在的索引(比如元素没那么多时),系统不会报错,而是会返回undefined。
举例:
var arr = [1,2,3,4,5]
console.log(arr[0])
console.log(arr[4])
console.log(arr[67])
打印结果:
获取数组的长度
可以使用length属性来获取数组的长度(元素个数)。
语法为:
数组的长度 = 数组名.length
举例:
var arr = [1,2,3,4,5]
// console.log(arr[0])
// console.log(arr[4])
// console.log(arr[67])
console.log(arr.length)
打印结果:
对于连续的数组,使用length可以获取到数组的长度;对于非连续的数组,使用length会获取到数组的最大的索引+1,因此,尽量不要创建非连续的数组。
例如:
var arr = [1,,,4,5,9]
// console.log(arr[0])
// console.log(arr[4])
// console.log(arr[67])
console.log(arr.length)
打印结果:
修改数组的长度(length)
- 如果修改的length大于原长度,则多出部分会空出来,置为null。
- 如果修改的length小宇原长度,则多出的元素将被删除,数组将会从后面删除元素。
- (特例:伪数组arguements的长度可以修改,但不能修改里面的元素)
**1.添加数组元素 修改length长度 **
var arr=new Array("red","blue","pink")
console.log(arr)
console.log(arr.length)
arr[5]="skyblue"//添加索引为5
console.log(arr)
打印结果:
*2. 直接修改数组的长度(length)
var arr=new Array("red","blue","pink")
//console.log(arr)
//console.log(arr.length)
//arr[5]="skyblue"
//console.log(arr)
//arr[0]="nnu"
console.log(arr)
console.log(arr.length)
arr.length=10
console.log(arr)
console.log(arr.length)
打印结果: