数组

数组是值的有序集合

创建:

数组直接量创建

var empty=[];
var primes=[]2,3,5,7,11;
var misc=[1.1,true,"a",];

var base=1024;
var table=[base,base+1,base+2,base+3];

var b=[[1,{x:1,y:2}],[2,{x:3,y:4}]];

如果省略数组直接量中的某个值,省略的元素将被赋值undefined
var count=[1,,3];
var undefs=[,,]; //数组允许有可选的逗号结尾,所以只有两个元素

构造方法创建

var a=new Array();

var a=new Array(10);

var a=new Arrays(5,4,3,2,1,"testing","testing");

 

数组的读和写

使用[]操作符来访问数组中的一个元素。

数组的引用位于方括号左边。方括号中是一个返回非负整数的任意表达式。该语法既可读又可写数组元素。

var a=["world"];
var value=a[0];
a[1]=3.14;
i=2;
a[i+1]="hello";

数组是对象的特殊形式。使用方括号访问数组就像用方括号访问对象的属性一样。JavaScript将指定的数字索引值转换成字符串——索引值编程“1”——然后将其作为属性名来使用。

数组的特别之处在于,当使用小于2^32的非负整数作为属性名时数组会自动维护其length数字那个值。

o={};
o[1]="one";
再给o的2和3的位置赋值,数组的长度自动变成4

 

稀疏数组

稀疏数组就是包含从0开始的不连续索引的数组。

这样的数组,length属性值大于元素的个数

注意:

var a1={,,,};

当在数组直接量中省略值时不会创建稀疏数组,省略的元素在数组中是存在的,其值为undefined。这和元素根本不存在是有一些微妙的区别的,可以用in来检测。

var a1=[,,,];    //数组是[undefined,undefined,undefined]
var a2=new Array(3);   //该数组根本没有元素
0 in a1;  =》 true: a1在索引0处有一个元素
0 in a2; =》 false

 

数组长度

.length属性值代表数组中元素的个数。其值比数组中最大的索引大1

 

posted @ 2016-05-04 20:55  guodaxia  阅读(218)  评论(0编辑  收藏  举报