源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JavaScript数组的栈方法与队列方法详解

  • 时间:2022-01-13 10:34 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JavaScript数组的栈方法与队列方法详解
[b]数组(Array)和对象(Object)[/b]应该是JavaScript中使用最多也是最频繁的两种类型了,Array提供了很多常用的方法:[b]栈方法、队列方法、重排序方法、操作方法、位置方法、迭代方法[/b]等等。 [b]1、Array的栈方法[/b] 栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构,也就是最新添加的项最早被移除。栈中项的插入(push)和移除,只发生在一个位置——栈的顶部。ECMAScript为数组提供了push()和pop()方法,可以实现类似栈的行为。下面两图分别演示了入栈与出栈操作。 [img]http://files.jb51.net/file_images/article/201605/2016052616161447.png[/img] [img]http://files.jb51.net/file_images/article/201605/2016052616161448.png[/img] push()方法可以接收任意数据的参数,把它们逐个添加到数组末尾,并返回修改后的数组长度。pop()方法从数组末尾移除最后一项,减少数组的length值
var students = [];
students.push("bluce","jordan","marlon","kobe");//入栈4项
alert(students.length);   //4
alert(students[0]);     //"bluce",第一项在栈的底部
alert(students[1]);     //"jordan"
students.push("paul");
alert(students.length);   //5
var item = students.pop(); //"paul"
alert(students.length);   //4
[b]2、Array的队列方法[/b] 栈数据结构的访问规则是LIFO(后进先出),而队列数据结构的访问规则是[b]FIFO(First-In-First-Out,先进先出)[/b]。队列在列表的末端添加项,从列表的前端移除项。push()方法是向数组末端添加项的方法,因此要模拟队列只需一个从数组前端取得项的方法——shift(),其能够移除数组中的第一个项并返回该项,同时数组的length-1。结合使用[b]shift()和push()[/b]方法,可以像使用队列一样使用数组。 [img]http://files.jb51.net/file_images/article/201605/2016052616161449.png[/img] [img]http://files.jb51.net/file_images/article/201605/2016052616161450.png[/img]
var students = [];
students.push("bluce","jordan","marlon","kobe");//入队4项
//students=["bluce","jordan","marlon","kobe"];
alert(students.length);   //4
alert(students[0]);     //"bluce",第一项在栈的底部
alert(students[1]);     //"jordan"
students.push("paul");
alert(students.length);   //5
//students=["bluce","jordan","marlon","kobe","paul"];
var item = students.shift();  //"bluce"
alert(students.length);   //4
//students=["jordan","marlon","kobe","paul"];
此外,ECMAScript还提供了unshift()方法,它能在数组前端添加任意个项并返回新数组的长度。因此,结合使用unshift()和pop()方法,可以从相反的方向来模拟队列,即在数组的前端添加项,从数组末端移除项
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部