数组(Array)
-数组也是一个对象
-数组使用数字作为索引来操作元素
-索引:
从0开始的整数就是索引
- 使用构造函数创建数组对象
-
使用字面量创建数组
语法:[]
-
向数组添加元素
语法:数组[索引] = 值
arr[0] = 11;
arr[1] = 22;
arr[2] = 33;
console.log(arr);//返回[11,22,33]
-
读取数组中的元素
语法:数组[索引]
如果读取不存在的索引,不会报错,会返回undefined
console.log(arr[0]);//返回11
console.log(arr[5]);//返回undefined
-
获取数组长度(元素个数)
语法:数组.length
console.log(arr.length);//返回3
/* 直接添加索引7,索引2-6没有放置元素,但位置仍会空出,
所以最终长度为该数组的最大索引数+1。 */
//尽量不要创建非连续数组
arr[7] = 77;
console.log(arr);//返回[11,22,33,,,,,77]
console.log(arr.length);//返回8
-
修改length
-如果修改的length大于原数组长度,则多余的部分会空出
-如果修改的length小于原数组长度,则多余的部分会删除
//arr.length = 10;
arr.length = 2;
console.log(arr);
console.log(arr.length);
-
永远向数组的最后一个位置添加元素
语法:数组[数组.length] = 值
arr[arr.length] = 5;
arr[arr.length] = 7;
console.log(arr);
- 使用字面量创建数组时,同时指定数组元素
- 使用构造函数创建数组时同时指定元素
var arr2 = new Array(10,20,30);
console.log(arr2);//返回[10,20,30]
//但当数组中只有一个元素时
arr = [10];
console.log(arr);//返回只有一个元素10的数组
console.log(arr.length);
arr2 = new Array(10);//创建一个长度为10的数组
console.log(arr2);//返回一个长度为10的空数组
console.log(arr2.length);
- 数组中的元素可以是任意的数据类型
//基本数据类型
arr = ["hi",12,true,null,undefined];
console.log(arr);
console.log(arr[4]);
//可以是对象
var obj = {name:"sun"};
arr[arr.length] = obj;
console.log(arr);
//可以是函数
arr = [function(){alert(1)},function(){alert(2)}];
console.log(arr);
//arr[0]();//调用数组中的函数
//可以放数组,如下这种叫二维数组
arr = [[1,2,3],[4,5,6,],[7,8,9]];
console.log(arr);
console.log(arr[0]);