栈和队列

栈:LIFO(先进后出)一种数据结构
队列:LILO(先进先出)一种数据结构

使用的js方法

1.push();可以接收任意数量的参数,把它们逐个推进队尾(数组末尾),并返回修改后的数组长度。
2.pop();从数组末尾移除最后一项,减少数组的值,返回移除的项。
3.shift();移除数组第一项并返回该项同时将数组的长度减一。

简单实现栈

使用push()和pop()结合实现简单栈

var colors = new Array();
var count = colors.push('red','white','blue');
alert(count);//3

var item = colors.pop();
alert(item);//blue
alert(colors.length);//2
简单实现队列

使用shift()与push()结合实现简单队列

var colors = new Array();
var count = colors.push('red','green');
alert(count);//2

var item = colors.shift();
alert(item);//red
alert(colors.length);//1
额外补充

unshift()与shift()用途相反,unshift()在数组前端添加任意个项,并返回新数组的长度。
注意:IE7以及更早版本对JavaScript的实现中存在偏差,其unshift()方法总是返回undefined而不是新数组的长度。IE8在非兼容模式下会返回正确的长度值。


liaojin1
170 声望2 粉丝

菜啊