Array原生类型
长度可变数组对象数组对象
--0开始
--最大长度 2^32-1=4294967295
构造Array对象
--new Array():空数组
--new Array(3):长度为3的数组
--new Array(1,"hello"):构造有2个元素的数组
Array.prototype
length属性:数组长度,可读写
toString()/toLocaleString()方法:
--返回逗号分割的字符串
--两种的区别是得到每个对象字符串的方式
concate([item1[,item2[,......]]])方法
--返回一个新数组,保存了原数组所有元素和所有的参数
push([item1[,item2[,......]]])方法
--在数组尾添加一个或多个元素
pop方法:
--从数组尾去除并返回元素
shift方法:
--从数组头去除并返回元素
unshift([item1[,item2[,......]]])方法:
--在数组头添加一个或多个元素
join(separator)方法:
--返回以separator作为分隔符得到一个连续所有元素的字符串
reverse()方法:
--将数组内所有的元素逆转
sort(conmpareFunction)方法
--参数为一个方法,用于比较两个元素
--省略了参数则直接使用<,==,>比较两个元素
slice(start,end)方法:
--返回新数组,不影响旧数组
--包含从下标start开始到下标end-1的元素
--如果省略end则包含从下标start开始至末尾的所有元素
--如果参数为负数,则表示数组的"倒数"第几个下标(即下标为n+array.length)
--如果start元素在end元素之后或相同,则返回空数组
splice(start,deleteCount[,item1[,item2[,......]]])方法:
--最灵活的方法,影响到当前数组
--从下标start的元素开始,删除deleteCount个元素,并在当前start位置开始插入剩余元素
--删除元素:splice(2,1)
--插入元素:splice(2,0,"hello","world")
--替换元素:splice(2,1,"hello","world")
2 <div id="message" />
3 <script language="javascript" type="text/javascript">
4 function display(text)
5 {
6 document.getElementById("message").innerHTML += (text + "<br />");
7 }
8
9
10 Array.prototype.display = function()
11 {
12 display("Array的值: "+this);
13 }
14
15 var array = new Array(1,2,3,4,5,6);
16 display("new Array(1,2,3,4,5,6)");
17 array.display(); // [1,2,3,4,5,6]
18 display("<hr />");
19
20 //push([item1[,item2[,]]])方法
21 // --在数组尾添加一个或多个元素
22 array.push(7,8);
23 display("array.push(7,8)")
24 array.display(); //[1,2,3,4,5,6,7,8]
25 display("<hr />");
26
27 //shift方法:
28 //从数组头去除并返回元素
29 array.shift();
30 display("array.shift() ");
31 array.display(); //[2,3,4,5,6,7,8]
32 display("<hr />");
33
34
35 //unshift([item1[,item2[,]]])方法:
36 //在数组头添加一个或多个元素
37 array.unshift(9);
38 display("array.unshift(9)");
39 array.display(); // [9, 2, 3, 4, 5, 6, 7,8]
40 display("<hr />");
41
42 //pop方法:
43 //从数组尾去除并返回元素
44 array.pop();
45 display("a.pop();" );
46 array.display(); // [9, 2, 3, 4, 5, 6, 7]
47 display("<hr />");
48
49 //concate([item1[,item2[,]]])方法
50 //返回一个新数组,保存了原数组所有元素和所有的参数
51 var out=array.concat(10,11,12);
52 display("array.concat(10,11,12);");
53 display("返回的结果:"+out);//[9, 2, 3, 4, 5, 6, 7,10,11,12]
54 array.display(); // [9, 2, 3, 4, 5, 6, 7]
55 display("<hr />");
56
57
58 //join(separator)方法:
59 //返回以separator作为分隔符得到一个连续所有元素的字符串
60 var out = array.join("|");
61 display("array.join(\"|\");");
62 display("返回的结果:"+out); //[9|2|3|4|5|6|7]
63 array.display();
64 display("<hr />");
65
66
67 //slice(start,end)方法:
68 // --返回新数组,不影响旧数组
69 // --包含从下标start开始到下标end-1的元素
70 // --如果省略end则包含从下标start开始至末尾的所有元素
71 // --如果参数为负数,则表示数组的"倒数"第几个下标(即下标为n+array.length)
72 // --如果start元素在end元素之后或相同,则返回空数组
73
74 out =array.slice(3,5);
75 display("array.slice(3,5);");
76 display("返回的结果:"+out); //[4,5]
77
78 out =array.slice(3,-1);
79 display("array.slice(3,-1);");
80 display("返回的结果:"+out); //[4,5,6]
81
82 array.display(); //[9, 2, 3, 4, 5, 6, 7]
83 display("<hr />");
84
85
86 //splice(start,deleteCount[,item1[,item2[,]]])方法:
87 // --最灵活的方法,影响到当前数组
88 // --从下标start的元素开始,删除deleteCount个元素,并在当前start位置开始插入剩余元素
89 // --删除元素:splice(2,1)
90 // --插入元素:splice(2,0,"hello","world")
91 // --替换元素:splice(2,1,"hello","world")
92
93 //删除
94 array.splice(2,1);
95 display(" array.splice(2,1);");
96 array.display(); //[9, 2, 4, 5, 6, 7]
97
98 //替换
99 array.splice(2,1,99);
100 display("array.splice(2,1,99);");
101 array.display(); //[9,2,99,5,6,7]
102
103 //插入
104 array.splice(2,0,66,77,88);
105 display("array.splice(2,0,66,77,88);");
106 array.display(); //[9,2,66,77,88,99,5,6,7]
107 display("<hr />");
108
109 //reverse()方法:
110 // --将数组内所有的元素逆转
111 array.reverse();
112 display("array.reverse();");
113 array.display(); //[7,6,5,99,88,77,66,2,9]
114 display("<hr />");
115
116 //sort(conmpareFunction)方法
117 // --参数为一个方法,用于比较两个元素
118 // --省略了参数则直接使用<,==,>比较两个元素
119
120 array.sort();
121 display("array.sort();");
122 array.display(); //[2,5,6,66,7,77,88,9,99]
123 display("<hr />");
124
125 array.sort(function(x,y){return x-y;});
126 display("array.sort(function(x,y){return x-y;});");
127 array.display(); //[2,5,6,7,9,66,77,88,99]
128 display(