在javascript中所有的数组都是Array对象。我们可以通过Array类来创建,维护数组。
var
arr
=
new
Array();
//
直接声明一个Array对象
var
arr1
=
new
Array(
20
);
//
声明一个Array对象,并对数组进行初始化,设置数组的大小为20
var
arr2
=
new
Array(
"
red
"
,
"
blue
"
,
"
green
"
);
//
声明一个数组,并通过参数给数组设置初始值
var
arr3
=
[
"
red
"
,
"
blue
"
,
"
green
"
];
//
也可以是直接通过一对[]来对数组进行初始化
var
arr
=
[
"
hello
"
,
"
world
"
];
alert(arr[
0
]);
//
显示hello
alert(arr[
1
]);
//
显示world
arr[
2
]
=
"
你好
"
;
//
在数组里插入了一个新项,并赋值为"你好"
arr[
25
]
=
"
aaa
"
;
//
在javascript中我们可以直接对某个下标进行赋值。这里我对下标25赋值,这样在javascript中会自动对3到24项插入null
var
arr
=
[
"
hello
"
,
"
world
"
,
"
haha
"
];
alert(arr.length);
//
将显示数组长度3
alert(arr.toString());
//
将显示"hello,world,haha";
alert(arr.join(
"
-
"
));
//
将显示"hello-world-haha";
通过push和shift方法,我们可以像操作队列一样来操作数组。
var
arr
=
[
"
hello
"
,
"
world
"
,
"
haha
"
];
arr.push(
"
你好
"
);
//
在数组的尾部增加一个新项,等同于arr[3] = "你好"
alert(arr.toString());
//
这里将显示hello,world,haha,你好
arr.pop();
//
将数组尾部的一个项去掉,
alert(arr.toString());
//
在这里我们可以发现输出时显示的将是hello,world,haha
arr.shift();
//
将数组头部的一个项去除掉
alert(arr.toString());
//
将显示world,haha
var
arr
=
[
3
,
85
,
44
,
37
,
23
];
arr.reverse();
//
将数组顺序反过来
alert(arr.toString());
//
显示的是23,37,44,85,3
arr.sort();
//
数组排序
alert(arr.toString());
//
显示3,23,37,44,85
在javascript中有好几种创建数组的方法
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
上面的这些方式都可以创建一个数组,我们可以通过Array类提供的方法和属性对创建的数组进行操作。
和所有的编程语言一样在javascript中数组也可以通过下标来存取。
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
Array对象也有length属性,对数组调用length可以得到数组的长度。
另外Array对象还提供了join方法让用户可以更加灵活的来得到想要的字符串。join方法提供了一个参数,对数组调用join方法,返回的结果将是用这个参数将数组的每一项串连起来的字符串。
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
Array对象还可以像栈和队列一样操作。
通过push和shift方法,我们可以像操作队列一样来操作数组。
push方法在数组的尾部添加一个新项,pop则是将数组尾部的一个项去除。shift方法则是将数组的头部的一个项去除掉。
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
reverse和sort方法,通过这两个方法可以改变数组的顺序。
reverse方法是将数组顺序反过来,sort方法则是按顺序对数组项进行排序
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
最后还有一个方法splice方法。这个方法有几个作用:
插入加删除:arr.splice(start,num,"xx");将数组中从start开始的num项删除,第三个参数开始是要插入到数组中去的新项,将会从start位置开始插入。如果num为0则不删除任何数组项
From:http://www.cnblogs.com/zjb3165/archive/2008/06/25/1229727.html