栈数据的结构规则是LIFO(后进先出),而队列数据结构的访问规则是FIFO(先进先出)。
要实现FIFO的访问规则,需要在队列的末尾添加项,队列的前端移除项。push()方法是
向数组的末尾添加项,所以只需要得到一个从数组的前端取得项的方法即可。
shift( )方法:移除数组中的第一项并返回该项,同时数组长度减1。
同时使用shift( )方法和push( )方法,就可以像队列一样使用数组。如例1所示:
例1:
var arr=['red','blue','green'];
alert(arr.length); //此时的数组长度为3
arr.push('black'); //向数组的末尾添加一项,值为"black"
alert(arr.length); //此时数组的长度变为4
alert(arr[3]); //获取数组的第四项,值是"black"
alert(arr.shift()); //删除数组的第一项
alert(arr.length); //获取数组的长度,输出结果为3
ECMAScript还为数组提供了一个unshift()方法,该方法的用途与shift()的相反,它
能在数组前端添加任意个项并返回新数组的长度。
同时使用unshift()方法和pop( )方法,可以使用相反的方向来模拟队列。