码迷,mamicode.com
首页 > 编程语言 > 详细

js-数组

时间:2016-07-30 16:49:56      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

1、数组的定义
        值的有效集合
        可以存放多种数据类型

2、创建数组
    2.1、构造函数
        var a1 = new Array();        //未定义数组的长度
        var a2 = new Array(5);        //数组的长度为5
        var a3 = new Array(4,‘hello‘,new Date());        //数组的长度为3

    2.2、字面量
        var a4 = [];
        var a5 = [10,‘hello‘,new Date()];
            
3、数组的索引和长度
    length返回的是array的数组索引长度,数组索引只能是数字,如果是字符串的相当于对象属性了。

4、常用方法
    jion(char)  把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
    slice(start,end)  从某个已有的数组返回选定的元素
    concat(array)  连接两个或更多的数组,并返回结果。
    reverse()  颠倒数组中元素的顺序。
    sort()  对数组的元素进行排序
    delete        不会改变索引的长度
   splice()  删除元素,并向数组添加新元素。
    栈方法

     pop()删除并返回数组的最后一个元素
       push()向数组的末尾添加一个或更多元素,并返回新的长度。
    队列方法  
       shift()删除并返回数组的第一个元素
    push()向数组的末尾添加一个或更多元素,并返回新的长度
    unshift()向数组的开头添加一个或更多元素,并返回新的长度。


    valueOf()返回数组对象的原始值
    toSource()返回该对象的源代码
    toString()把数组转换为字符串,并返回结果。
    toLocaleString()把数组转换为本地数组,并返回结果。

5、实例

<script type="text/javascript">		
			var a1 = new Array();		//未定义数组的长度
			var a2 = new Array(5);		//数组的长度为5
			var a3 = new Array(4,‘hello‘,new Date());		//数组的长度为3
			var a4 = [];
			var a5 = [10];
			document.write(a1.length+‘<br />‘);
			document.write(a2.length+‘<br />‘);
			document.write(a3.length+‘<br />‘);
			document.write(a4.length+‘<br />‘);
			document.write(a5.length+‘<br />‘);
			//索引的方法
			document.write(a3[1]+‘<br />‘);
			a1[100] = 100;
			document.write(a1.length+‘<br />‘);
			a1.length = 3;
			document.write(a1+‘<br />‘);
			a1.length = 100;
			document.write(a1+‘<br />‘);
</script>

 常用方法:

<script type="text/javascript">
			var a1 = new Array(1,2,3,4);
			//document.write(a1.jion(‘_‘));	//1_2_3_4
			document.write(‘<br />‘);
			
			document.write(a1.slice(1,3));
			document.write(‘<br />‘);		//2,3
			
			var a2 = new Array(6,5);
			document.write(a1.concat(a2));	//1,2,3,4,6,5
			document.write(‘<br />‘);
			
			var a2 = new Array(6,5);
			a2.reverse();
			document.write(a2);				//5,6
			document.write(‘<br />‘);
			
			var a3 = new Array(6,5,4,3,2,1);
			delete a3[1]
			document.write(a3);				//6,,4,3,2,1
			document.write(‘<br />‘);
			
			var a3 = new Array(6,5,4,3,2,1);
			a3.sort();
			document.write(a3);				//1,2,3,4,5,6
			document.write(‘<br />‘);
			
			//栈方法
			var a4 = new Array(1,2,3,4,5);
			a4.push(5);
			document.write(a4+‘<br />‘);	//1,2,3,4,5,5
			a4.pop(a4);
			document.write(a4+‘<br />‘);	//1,2,3,4,5
			
			//队列方法
			var a5 = new Array(1,2,3,4,5);
			a5.unshift(5);
			document.write("长度:"+a5.length+‘   ‘+a5+‘<br />‘);	//长度:6   5,1,2,3,4,5
			a5.shift(a5);
			document.write("长度:"+a5.length+‘   ‘+a5+‘<br />‘);	//长度:5   1,2,3,4,5
			
		</script>

 注意:

    1、栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构,也就是最新添加的项最早被移除。栈中项的插入(push)和移除,只发生在一个位置——栈的顶部。ECMAScript为数组提供了push()和pop()方法,可以实现类似栈的行为。

  push()方法可以接收任意数据的参数,把它们逐个添加到数组末尾,并返回修改后的数组长度。pop()方法从数组末尾移除最后一项,减少数组的length值

    2、栈数据结构的访问规则是LIFO(后进先出),而队列数据结构的访问规则是FIFO(First-In-First-Out,先进先出)。队列在列表的末端添加项,从列表的前端移除项。push()方法是向数组末端添加项的方法,因此要模拟队列只需一个从数组前端取得项的方法——shift(),其能够移除数组中的第一个项并返回该项,同时数组的length-1。结合使用shift()和push()方法,可以像使用队列一样使用数组。

    此外,ECMAScript还提供了unshift()方法,它能在数组前端添加任意个项并返回新数组的长度。因此,结合使用unshift()和pop()方法,可以从相反的方向来模拟队列,即在数组的前端添加项,从数组末端移除项

js-数组

标签:

原文地址:http://www.cnblogs.com/foodoir/p/5720916.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!