Array类型-栈方法

栈方法

  ECMAScript数组也提供了一种让数组的行为类似其他数据结构的方法。具体说来,数组可以表现得就像栈一样,后者是一种可以限制插入和删除项的数据结构。栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构,也就是最新添加的项最早被移除。而栈中项的插入(叫做推入)和移除(叫做弹出),只放生在一个位置——栈的顶部。
ECMAScript为数组专门提供了push()和pop()方法,以便实现类似栈的行为。

  push()方法可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。而pop()方法则从数组末尾移除最后一项,减少组的length值,然后返回移除的项。请看下面的例子:

var colors=new Array();//创建一个数组
var count=colors.push("red","green");//推入两项
alert(count);//2
count=colors.push("black");//推入另一项
alert(count);//3
var item=colors.pop();
alert(item);//black
alert(colors.length);//2

  以上代码中的数组可以看成是(代码本身没有任何区别,而push()和pop()都是数组默认的方法)首先,我们使用push()将两个字符串推入数组的末尾,,并将返回的结果保存在变量count中(值为2)。然后,再推入一个值,而结果仍然保存在count中。因为此时数组中包含3项,所以push()返回3。在调用pop()时,它会返回数组的最后一项,即字符串"black“。此后,数组中仅剩两项。

  可以将栈方法与其他数组方法连用,像下面例子一样。

var colors=["red","blue"];
colors.push("brown");//添加另一项
colors[3]="black";//添加一项
alert(colors.length);//4

var item=colors.pop();//取得最后一项
alert(item);//black

  在此,我们首先用两个值来初始化一个数组。然后,使用push()添加第三个值,再通过直接在位置3上赋值来添加第四个值。而在调用pop()时,该方法返回了字符串"black“,即最后一个添加到数组的值。

posted @ 2015-06-05 13:40  一日三餐  阅读(253)  评论(0编辑  收藏  举报