欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-12-13 18:33:14
ECMAScript数组与其他语言的数组一样都是有序列表,ECMAScript数组的每一项可以保存任何类型的数据,也就是说,每一项都可以包含不同的对象、字符串、数组等。而且,ECMAScript数组的大小可以动态地调整的,即可以随着数据添加自动增长容纳新增数据。 创建数组的基本方式 第一种是使用Ar ......

  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);

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

获取数组长度

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

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

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

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

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);//100

 

总结:

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

 

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