1、创建数组的两种方式
(1)使用Array构造函数,例如:var arr=new Array();
给构造函数Array()传递一个整数数值,会按该数值创建包含给定项数的数组。例如:var arr=new Array(3);的意思就是创建一个包含三项的数组。
给构造函数Array()传递一个浮点数值,会报错。
如果传递的是其它类型的参数,就会创建包含哪个参数的数组。例如:
var arr1=new Array(2.5); //报错
var arr2=new Array("blue");
var arr3=new Array("blue","red","yellow");
console.log(arr2); //["blue"]
console.log(arr3); //["blue","red","yellow"]
(2)使用数组字面量表示法:例如:var arr=[1,2];
2、读取和修改数组的方式
采用 数组名.[索引号]的形式访问和修改数组。
- 如果索引小于数组的项数,则返回对应项的值。
- 如果索引等于或者大于数组的项数,则数组自动增加到该索引值加1的长度。
例如:
var arr=new Array("blue","red","pink");
//索引小于数组的项数时,读取数组
console.log(arr[0]); //blue
//索引小于数组的项数时,修改数组
arr[0]="purple";
console.log(arr[0]); //purple
//索引大于或者等于数组的项数时,读取数组
console.log(arr[3]); //undefined
console.log(arr.length); //3
//索引大于或者等于数组的项数时,修改数组
arr[4]="black";
console.log(arr); //["purple", "red", "pink", empty, "black"]
数组的length属性
特点:可读可写。
- 修改length为小于数组项数的情况
var arr=new Array("blue","red","pink");
console.log(arr.length); //3
//修改数组长度
arr.length=2;
console.log(arr); //["blue","red"]
console.log(arr[2]); //undefined
- 修改length为大于数组项数的情况
var arr=new Array("blue","red","pink");
console.log(arr.length); //3
//修改数组长度
arr.length=4;
console.log(arr); // ["blue", "red", "pink", empty]
console.log(arr[4]); //undefined
因此,利用length属性可以方便的在数组末尾添加新项。
var colors = ["red", "blue", "green"]; // 创建一个包含 3 个字符串的数组
colors[colors.length] = "black"; //(在位置 3)添加一种颜色
colors[colors.length] = "brown"; //(在位置 4)再添加一种颜色