大家好,欢迎观看JavaScript教程(十七、JavaScript数组的特点)
- 数组的本质
描述:本质上数组是对象类型的一种特殊表现形式,因此创
建的时候我们可以使用new方式来创建。
//因此我们有两种创建数组的方法
var arr = [1,2,3,4];
console.log(arr);
//使用new创建数组
var arry = new Array('你好',123,'我是','hello!');
console.log(arry);
console.log(typeof arry);
- 数组的长度
描述:数组的长度实际是数组中元素的个数(下标),
其他语言java、c++是按照内存位置来计算的,
JavaScript数组在内存的储存位置是不连续的,
其他语言数组是分类型的。
var arr = ['张三',22,'ture'];
console.log(arr.length);//一维数组
//二维数组,后期会讲到,先看一下
var arry = [['河南','江苏'],['湖北','北京'],['南京','苏州']];
console.log(arry);
console.log(arry.length);//二维数组,每一个元素又是一个数组
注意:
1. 如果设置length长度小于数组本身长度,那么多余元素舍弃
var arr = [1,2,3]
arr.length = 2;
console.log(arr.length)
console.log(arr);
2. 如果设置length长度大于数组本身长度,那么缺少元素用空位补齐
var arr = [1,2,3];
arr.length=6;
console.log(arr.length);
console.log(arr[5]);//未定义类型
3. 如果设置length长度不是合法数值,那么会报错Invalid array length
var arr = [1,2,3];
arr.length=-1;
console.log(arr.length);
console.log(arr);
- 数组的遍历
描述:如果想要连续访问数组中的每个元素,可以使用for in快速遍历。
var heroArr = ['GreenJuPeople','BlackGuaFu','MetalXia'];
for (index in heroArr){
console.log(heroArr[index]);
}
- 数组的空位
描述:当数组的某个位置是空元素,及两个逗号之间没有任何值,称为空位
注意:- 空位计算数组长度
- 空位表现为undefine
var arr = ['你好','我是','','老师'];
console.log(arr.length);//4个 第三个是字符串类型
console.log(arr);//有单引号或双引号,但里面没有值,我们称为空字符
console.log(arr[2]);//未定义类型
- 数组删除
描述:delete命令能够删除数组中的元素的值形成空位,
但是delete命令并不会影响length属性,被删掉
的属性值依然站着空位。
语法:delete arr[下标];
var arr = ['aa','bb','cc'];
console.log(arr);
console.log(arr.length);
//删除一个元素
delete arr[1];
console.log(arr);
console.log(arr[1]);
console.log(arr.length);