在Javascript中,数组是一组按顺序排列的数据的集合,数组中的每个成员被称为元素,每个元素的名称(键)被称为数组下标。js数组可以利用“[]”和“Array()”两种方式来创建,数组中所包含的数据可以是任意类型的。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
JavaScript 数组(Array)是有序数据的集合,数组中的每个成员被称为元素(Element),每个元素的名称(键)被称为数组下标(Index)。
数组中可以包含任意类型的数据;数组的长度是弹性的、可读写的。
创建数组
JavaScript 定义(创建或者声明)数组的方法有两种:构造数组和数组直接量。
1、构造数组
使用 new 运算符调用 Array() 类型函数时,可以构造一个新数组。
var a = new Array(); //空数组 var a = new Array(1, true, "string", [1,2], {x:1,y:2}); //实数组
2、数组直接量
数组直接量的语法格式:在中括号“[]”中包含多个值列表,值之间用逗号分隔。
var a = []; //空数组 var a = [1, true, "0", [1,0], {x:1,y:0}]; //包含具体元素的数组
访问数组
数组是复合型数据,数组名称是一个指向数组的引用型变量,因此数组属于引用型对象。
访问数组就是访问数组元素。元素相当于变量,数组的元素是一组有序排列的变量,它们没有标识符,以下标进行索引,下标从 0 开始,有序递增。注意,数组下标是非负整数型表达式,或者是字符型数字,不可以为其他类型的值或表达式。
使用中括号[]可以读写数组。中括号左侧是数组名称,中括号内为数组下标。
数组[下标表达式]
下标表达式是值为非负整数的表达式。
示例1
下面代码使用中括号为数组写入数据,然后再读取数组元素的值。
var a = []; //声明一个空数组 a[0] = 0; //为第一个元素赋值为0 a[2] = 2; //为第三个元素赋值为2 console.log(a[0]); //读取第一个元素,返回值为0 console.log(a[1]); //读取第二个元素,返回值为undefined console.log(a[2]); //读取第三个元素,返回值为2
在上面代码中仅为 0 和 2 下标位置的元素赋值,下标为 1 的元素为空,读取时为空的元素返回值默认为 undefined。
示例2
下面代码使用 for 语句批量为数组赋值,其中数组下标是一个递增表达式。
var a = new Array(); for (var i = 0; i < 10; i ++) { a[i ++] = ++ i; } console.log(a);
示例3
设计有两个变量,不需要其他变量的帮助实现值互换。
一般情况下实现变量交换,需要定义一个临时变量做中转。
var a = 10, b = 20; //变量初始化 var temp = a; //定义临时变量存储a a = b; //把b的值赋值给a b = temp; //把临时变量的值赋值给b
利用数组就可以这样设计。
var a = 10, b = 20; //变量初始化 a = [b, b = a][0]; //通过数组快速交换数据
设计技巧
数组的元素允许使用表达式,表达式的值与元素的值是两个不同的概念,本质上元素也是一个变量,标识符是下标编号。在一个匿名数组中,把变量 b 的值传递给第 1 个元素,然后在第 2 个元素中以赋值表达式运算的方式把变量 a 的值赋值给变量 b,再把变量 b 的值传递给第 2 个元素。这个过程是按顺序执行的,变量 b 的值被重写,同时数组也被添加了两个元素,最后使用中括号语法读取第 1 个元素的值,并赋值给变量 a,从而实现值互换。
【