1、栈方法
LIFO(Last-In-First-Out,后进先出)最新添加最早被移除。栈中项的插入(叫做推入)和移除(叫做弹出)只发生在一个位置---桟的顶部。
模拟:push()方式可以接收任意数量参数,它逐个添加到数组末尾,并修改数组长度。pop()方法从数组末端最后一项,并减少length
var colors = new Array(); //创建一个数组 var count = colors.push('red','green'); // count -> 2 colors -> ["red", "green"] count = colors.push('black'); // count -> 3 colors -> ["red", "green","black"] var item = colors.pop(); //"black" length -> 2
2、队方法
FIFO(First-In-First-Out,先进先出)
队列在列表末端添加项,从列表的前端移除项
模拟:push()方式可以接收任意数量参数,它逐个添加到数组末尾,并修改数组长度。shift()移除数组第一项并返回该项,并length-1
var colors = new Array(); //创建一个数组 var count = colors.push("red", "green"); //推入两项 //count -> 2 count = colors.push("black"); //推入另一项 //count -> 3 var item = colors.shift(); //取得第一项 // item -> red colors -> ["green", "black"]
反向队列
unshift()与shift() 用途相反,在数组前添加任意项数组,unshift()与pop()同时使用方向队列模拟
unshift() 返回数组添加后长度