JavaScript数组

何为数组:

所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。

在JS中除了Object类型以为,我们用的最多的应该就是数组了。而且JS数组和其他大多数语言中的数组有着很大的区别。在Java语言中,我们声明了一个数组,那么这个数组只能保存相同类型的值,集合数组也是一样;而在我们的JS数组中的每一项都可以保存任何数据,也就是说我们的JS数组第一个位置可以用来保存字符串,第二个位置可以用来保存数值,第三个位置可以用来保存对象。并且JS的数组是动态调整的,有点类似于Java的集合数组(List);会随着数据的增加而扩大数组的容量;

1、数组的创建

     var array = new Array(); //创建一个数组
<span style="white-space:pre">	</span>var array = new Array([2]); //创建一个数组并指定长度,注意不是上限,是长度
	var array = new Array([1,"字符串",new Object()]); //创建一个数组并赋值,对应的是数字,字符串,对象
	alert(array);

2.检测数组

     array instanceof Array; //返回结果为布尔值
	Array.isArray(array); //返回结果为布尔值,只支持IE9,谷歌,火狐能

3.数组的转换

var person1={
		toLocaleString :function(){
			return "Nikolaos";
		},
		toString:function(){
			return "NiCholas";
		}
	};
	var person2= {
		toLocaleString :function(){
			return "Grigorios";
		},
		toString:function(){
			return "Greg";
		}
	};
	var people=[person1,person2];
	alert(people);
	alert(people.toString());
	alert(people.toLocaleString());

数组转换成字符串可以使用toStirng,valueOf,toLocaleString,Join;
4操作方法

4.1数组的元素的访问

4.2数组元素的添加

4.3数组元素的删除

4.4数组的截取和合并

5.栈方法

JS数组也提供了一种让数组的行为类似于其他数据结构的方法,数组表现的就像栈一样。栈是一种可以限制插入和删除项,后进先出的数据结构,也就是最新添加的项最早被移除。而栈中项的插入(推入)和移除(弹出)。只发生在栈顶。JS为数组专门提供了push()和pop()方法,以便实现类似栈的行为;

var names=["张三","李四"];
	names.push("王五");	//添加另一项
	names[3]="赵六" //添加一项
	alert(names.length); //4
	var item=names.pop(); //去的最后一项
	alert(item);

6.队列方法

栈数据结构的访问规则是后进先出,而队列的数据结构的访问规则是先进先出。队列在列表的末端添加项,从列表的前端移除项。

var names=["张三","李四"];
	names.push("王五");	//添加另一项
	names[3]="赵六" //添加一项
	alert(names.length); //4
	var item=names.shift(); //取得第一项
	alert(item);

7.重排序方法

var values=[4,2,5,7,1];
	alert(values.sort()); //sort正序
	alert(values.reverse()); //reverse倒序

8.位置方法

位置方法splice()方法,这个方法是最强大的数组方法了,它有很多种用法。splice()的主要用途是向数组的中部插入项,但使用这种方法的方式有三种;

删除:可以删除任意数量的项,只需指定2个参数:要删除的起始位置和要删除的项数,例如 

splice(0,2)会删除数组中的前两项

插入:可以向指定位置插入任意数量的项,只需提供3个参数,起始位置0(要删除的项数)和要插入的项,如果要插入多个项,可以再传入第四,第五,以致任意多个项,例如splice(2,0,"张三三","李四四")会从当前数组的位置2开始插入

替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定3个参数:起始位置,要删除的项数和要插入的任意数量的项,插入的项数不必与删除的项数相等。例如splice(2,1,"张三三","李四四")会删除当前数组位置2的项,然后再从位置2开始插入字符串;

后面还有更深入的迭代和缩小方法,留着下次讨论;

文章导航