JavaScript Array 类型

  除 Object类型外,Array 类型算是ECMAScript中最常用的类型了,而且,ECMAScript中的数组和其他多数语言的数组有着非常大的差别,虽然这些数组都是数据的有序列表,但与其他语言不同的是,ECMAScript数组的每一项可以保存任何类型的数据,也就是说,可以用数组的第一个位置来保存字符串,第二个位置用来保存数值,第三个位置保存对象...。而且,ECMAScript数组的大小是可以动态调整的,可以随着数据的添加自动增长以容纳新增数据。

  • 创建数组的方式有两种:

  1.使用Array构造函数,如下代码

var colors = new Array();

如果预先知道数组要保存的项目数量,也可以给构造函数传递该数量,该数量会自动成为 length 的属性值,如下代码

var colors = new Array(10);

也可以向Array构造函数传递数组中应该包含的项,如下代码

var colors = new Array("red","blue","green");

给构造函数传递一个值也可以创建一个数组,如下代码

var colors = new Array(3);    //创建一个包含3项的数组
var name = new Array("Jack"); //创建一个包含1项,即字符串"Jack"的数组

在使用Array构造函数创建数组时,可以省略 new 操作符,结果相同,如下代码

var colors = Array(3);       //创建一个包含3项的数组
var name = Array("Jack");    //创建一个包含1项,即字符串"Jack"的数组

  2.数组字面量表示法,如下代码

var colors = ["red","blue","green"]; //创建一个包含三个字符串的数组
var name = [];                       //创建一个空数组
var values = [1,2,]                  //不要这样,这样会创建一个包含2或3项的数组,强烈不建议这种语法
var options = [,,,,,]                //不要这样,这样会创建一个包含5或5项的数组,强烈不建议这种语法

注:在使用字面量表示法时,不会调用Array构造函数

  • 读取和设置数组

要用方括号并提供响应值的基于0的数字所以,如下代码

var colors = ["red","blue","green"]; //定义一个字符串数组
alert(colors[0]);                    //显示第一项
colors[2] = "black";                 //修改第二项
colors[3] = "brown";                 //新增第四项

数组的length属性不是只读的,因此,通过设置这个属性,可以从数组的末尾移除或者添加新项,如下代码

var colors = ["red","blue","green"]; //定义一个字符串数组
colors.length = 2; 
alert(colors[2]);                    //undefined (因为移除了第3项,所以他的第3项是undefined)

数组最多可以包含 4,294,967,295 个项,如果超过这个项就会发生异常,创建一个初始大小与这个上限值接近的数组,可能会导致运行时间超长的脚本错误。

原文地址:https://www.cnblogs.com/bfc0517/p/7444331.html