JavaScript数组.docx
《JavaScript数组.docx》由会员分享,可在线阅读,更多相关《JavaScript数组.docx(14页珍藏版)》请在冰点文库上搜索。
JavaScript数组
JavaScript数组
JavaScript中的Array对象就是数组,首先是一个动态数组,无需预先制定大小,而且是一个像Java中数组、ArrayList、Hashtable等的超强综合体。
一、数组的声明
常规方式声明:
1、vararrName=newArray();//创建一个数组
2、vararrName=newArray([size]); //创建一个数组并指定长度,注意不是上限,是长度
3、vararrName=newArray("孤傲苍狼","白虎神皇","灭世魔尊");//创建一个数组,并初始化数组的内容
注意:
虽然vararrName=newArray([size]);指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为2,仍然可以将元素存储在规定长度以外的,注意:
这时长度会随之改变。
Array的简化声明
1、普通数组初始化:
vararr=[3,5,6,8,9];
范例1:
复制代码
1
2//JavaScript声明数组的四种方式
3vararr1=newArray();//创建一个空数组
4arr1[0]="xdp";
5arr1[1]="gacl";
6vararr2=newArray
(2);//创建一个数组并指定长度为2
7arr2["name0"]="xdp";//arr2第一个元素
8arr2["name1"]="gacl";//arr2第二个元素
9arr2["name2"]="xtxd";//arr2第三个元素,arr2虽然在声明时指明了长度为2,但是还是可以添加超过其指明长度的元素
10vararr3=newArray("孤傲苍狼","白虎神皇","灭世魔尊");//创建一个数组并初始化数组中的元素
11vararr4=[1,true,"String"];//Array的简化声明
12
13document.write("遍历arr1中的元素:
");
14for(variinarr1){
15document.write(arr1[i]+"
");
16}
17document.write("-----------------------------------------------------------------------------
");
18document.write("遍历arr2中的元素:
");
19for(variinarr2){
20document.write("arr2[\""+i+"\"]="+arr2[i]+"
");
21}
22document.write("-----------------------------------------------------------------------------
");
23document.write("遍历arr3中的元素:
");
24for(variinarr3){
25document.write(arr3[i]+"
");
26}
27document.write("-----------------------------------------------------------------------------
");
28document.write("遍历arr4中的元素:
");
29for(variinarr4){
30document.write(arr4[i]+"
");
31}
32
复制代码
运行结果:
范例2:
复制代码
1
2varnames=newArray();//普通方式声明数组,不需要指明数组的长度
3names[0]="孤傲苍狼";
4names[1]="白虎神皇";
5names[2]="灭世魔尊";
6for(vari=0;i7document.write("names["+i+"]="+names[i]);
8document.write("
");
9}
10
11varpinyins=newArray();
12pinyins["人"]="ren";
13pinyins["口"]="kou";
14pinyins["手"]="shou";
15document.write("pinyins[\"人\"]="+pinyins["人"]);
16document.write("
");
17document.write("pinyins.手="+pinyins.手);//像Hashtable、Dictionary那样用,而且像它们一样效率高。
18document.write("
");
19//Array的简化声明
20vararr1=[3,5];//普通数组初始化
21for(vari=0;i22document.write("arr1["+i+"]="+arr1[i]);
23document.write("
");
24}
25
复制代码
运行结果:
二、数组练习
Ferris写过一个数组的案例,以下就是他的案例代码,挺全的,思路也挺好!
复制代码
1
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:
//TR/xhtml1/DTD/xhtml1-transitional.dtd">
23
4
数组练习:
各种数组方法的使用
5
6div{color:
green;padding:
10px15px;margin:
12px0;background:
#f0f0f0;border:
1pxdotted#333;font:
12px/1.5CourierNew;word-wrap:
break-word;}
7
8
9window.onload=function()
10{
11varaDiv=document.getElementsByTagName("div");
12varaInput=document.getElementsByTagName("input");
13vari=0;
14varbS1=bS2=true;
15varaTmp=[];
16
17//删除/添加第一项
18aInput[0].onclick=function()
19{
20aTmp=getArray(aDiv[0].innerHTML);
21bS1?
22//删除第一项,shift()方法
23(aTmp.shift(),this.value=this.value.replace("删除","添加"),bS1=false):
24//添加第一项,unshift()方法
25(aTmp.unshift("January
(1)"),this.value=this.value.replace("添加","删除"),bS1=true);
26//输出
27aDiv[0].innerHTML=aTmp.join()
28};
29
30
31//删除/添加最后一项
32aInput[1].onclick=function()
33{
34aTmp=getArray(aDiv[0].innerHTML);
35bS2?
36//删除最后一项,pop()方法
37(aTmp.pop(),this.value=this.value.replace("删除","添加"),bS2=false):
38//添加最后一项,push()方法
39(aTmp.push("December(12)"),this.value=this.value.replace("添加","删除"),bS2=true);
40//输出
41aDiv[0].innerHTML=aTmp.join()
42};
43
44
45//复制,concat()方法
46aInput[2].onclick=function()
47{
48aTmp=getArray(aDiv[1].innerHTML);
49//输出
50aDiv[1].innerHTML=aTmp.concat(aTmp).toString().replace(/\s/g,"")
51};
52
53
54//还原,利用数组的length特点
55aInput[3].onclick=function()
56{
57aTmp=getArray(aDiv[1].innerHTML);
58//设置数组长度
59aTmp.length=10;
60//输出
61aDiv[1].innerHTML=aTmp.join()
62};
63
64
65//第三组数据还原
66aInput[4].onclick=function()
67{
68aTmp=["red","green","blue","white","yellow","black","brown"];
69//输出
70aDiv[2].innerHTML=aTmp.join()
71};
72
73
74//删除前三项
75aInput[5].onclick=function()
76{
77aTmp=getArray(aDiv[2].innerHTML);
78//删除,0开始,删除3个
79aTmp.splice(0,3);
80//输出
81aDiv[2].innerHTML=aTmp.join()
82};
83
84
85//删除第二至三项
86aInput[6].onclick=function()
87{
88aTmp=getArray(aDiv[2].innerHTML);
89//删除,2开始,删除2个
90aTmp.splice(1,2);
91//输出
92aDiv[2].innerHTML=aTmp.join()
93};
94
95
96//在第二顶后插入"orange","purple"
97aInput[7].onclick=function()
98{
99aTmp=getArray(aDiv[2].innerHTML);
100//插入,2开始,插入"orange","purple"
101aTmp.splice(1,0,"orange","purple");
102//输出
103aDiv[2].innerHTML=aTmp.join()
104};
105
106
107//替换第二项和第三项
108aInput[8].onclick=function()
109{
110aTmp=getArray(aDiv[2].innerHTML);
111//插入,2开始替换
112aTmp.splice(1,2,"#009900","#0000ff");
113//输出
114aDiv[2].innerHTML=aTmp.join()
115};
116
117//将div中的内容转为数组
118//strdiv对象
119functiongetArray(str)
120{
121aTmp.length=0;
122str=str.split(",");
123for(variinstr)aTmp.push(str[i]);
124returnaTmp
125}
126}
127
128
129
130
January
(1),February
(2),March(3),April(4),May(5),June(6),July(7),Aguest(8),September(9),October(10),November(11),December(12)
131(1)"type="button">
132
133
0,1,2,3,4,5,6,7,8,9
134
135
136
red,green,blue,white,yellow,black,brown
137
138
139
140
141
142
143
144