ECMAScript引用类型之Array类型(一)

ECMAScript数组与其他语言的数组一样都是有序列表,ECMAScript数组的每一项可以保存任何类型的数据,也就是说,每一项都可以包含不同的对象、字符串、数组等。而且,ECMAScript数组的大小可以动态地调整的,即可以随着数据添加自动增长容纳新增数据。

创建数组的基本方式

第一种是使用Array构造函数:

var num = new Array();//创建一个空的数组
var num = new Array(20);//创建一个length值为20的数组
var num = new Array("1","2","3");//创建一个包含三个字符的数组

可以通过构造函数传递一个值来创建数组,如果传递其他类型的参数,则会创建包含那个值的只有一项的数组。

var num = new Array(3); //创建一个包含3个项的数组,可省略new
var num1 = new Array("yellwo");//创建包含一项的数组,可省略new

第二种是使用数组字面量表示法:

var num = ["1", "2", "3"];//["1", "2", "3"]
var num1 = [];//[]
var num2 = [1,2,];//[1,2,undefined]
var num3 = [,,];//[undefined,undefined,undefined]
console.log(num);

在IE中,num2与num3都会有三项值(IE8及更早的版本中),在空的数组内会创建创建一个undefined的值;而在其他浏览器中num2会有两项分别是1,2;而num3会有两个undefined,这种方法一般不推荐使用,因为IE的实现与其他浏览器不一致,会有浏览器兼容性问题。、

读取与设置

在读取和设置数组的值时,要使用方括号并提供相应值的基于0开始索引:

var num = ['1', '2', '3'];//定义一个字符串数组
console.log(num[0]);//索引第一项
num[2] = "4";//修改数组中的第三项
num[3] = "5";//新值第五项
console.log(num);

获取数组长度

数组的项数保存在length属性中,这个属性始终会返回0或更大的值:

var str = ["one", "two", "three"];
var num = [];

console.log(str.length);//
console.log(num.length);//

设置这个属性可以向属性添加项或在末尾移除项:

var str = ["one", "two", "three"];//创建包含3个字符串的数组
str.length = 2;
console.log(str[2]);//undefined

设置大于项数:

var str = ["one", "two", "three"];//创建包含3个字符串的数组
str.length = 4;
console.log(str[3]);//undefined

使用length属性可以向末尾添加新项

var str = ["one", "two", "three"];//创建包含3个字符串的数组
str[str,length] = "four";//添加到第四个项
str[str.length] = "five";//添加到第五个项

数组最后一项始终时length-1,所以说下一个新项的位置就是length。

var str = ["one", "two", "three"];//创建包含3个字符串的数组
str[99] = "Ninety-nine";
console.log(str.length);//

总结:

  1. 创建数组有两种方式一种是Array构造函数方法,一种是数组字面量表示法;
  2. 根据索引值进行访问可以修改插入值;
  3. length属性可以在数组中设置添加项或在末尾移除项;

如果有错误或者不严谨的地方,请务必给予指正,十分感谢。如果您喜欢或者有所启发,欢迎添加收藏,一起加油学习啊。

相关推荐