JavaScript程序开发(十二)—Array中常用方法

本文详细介绍了ECMAScript中数组提供的栈和队列方法,包括push()、pop()、shift()、unshift()等,通过实例展示了如何使用这些方法实现栈和队列的基本操作。

栈方法

  ECMAScript中数组提供了一种让数组的行为类似于其他数据结构的方法。栈是一种LIFO(后进先出)的数据结构,也就是最后插入的数据最先被移除。栈中的插入(叫推入)和移除(叫弹出)只发生在一个位置,就是栈的顶部。ECMAScript为数组专门提供了push()和pop()方法,以便实现类似栈的行为。

  push()方法可以接收任意的参数,把它们逐个插入到数组的末尾,并返回修改后数组的长度。而pop()方法则从最后一项开始移,除减少数组的length值,然后返回被移除的项。如下代码实例:

<script type="text/javascript">
    var colors = new Array();
    var cont = colors.push("red","black");
    document.write(cont);  //2
    var cont = colors.push("green");
    document.write(cont);  //3
    var item = colors.pop();
    document.write(item);  //green
</script>

队列方法

栈结构的访问规则是LIFO(后进先出),而队列的访问规则则是FIFO(先进先出)。队列在列表的末尾添加项,在列表的前端移除项。前面已经了解到数组的push()方法是向数组的末尾追加项,现在是只需要一个方法实现从数组的前端移除项就可以实现数组模拟队列方法了。ECMAScript提供了shift()方法实现这一操作。shift()方法能够移除数组的最先插进去的项(也可以说是第一项)并返回该项,同时数组长度减1,结合push()和shift(),就可以实现数组模拟队列操作了。如下代码实例:

<script type="text/javascript">
    var colors = new Array();
    var cont = colors.push("red","green");
    document.write(cont);  // 2
    var item = colors.shift();
    document.write(item); // green
    var num = colors.length;
    document.write(num);  //1
</script>

  ECMAScript还为数组提供了一个unshift()方法,顾名思义,这个方法的功能和shift()正好相反,它可以在数组的最前面插入任意个数组项并返回新数组的长度。同时使用unshfit()和pop()可以从相反的方向来模拟队列。

 

转载于:https://www.cnblogs.com/yansj1997/archive/2012/05/31/2528823.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值