JavaScript数组的栈方法与队列方法
数组(Array)和对象(Object)应该是JavaScript中使用最多也是最频繁的两种类型了,Array提供了很多常用的方法:栈方法、队列方法、重排序方法、操作方法、位置方法、迭代方法等等。
1、Array的栈方法
栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构,也就是最新添加的项最早被移除。栈中项的插入(push)和移除,只发生在一个位置——栈的顶部。ECMAScript为数组提供了push()和pop()方法,可以实现类似栈的`行为。下面两图分别演示了入栈与出栈操作。
push()方法可以接收任意数据的参数,把它们逐个添加到数组末尾,并返回修改后的数组长度。pop()方法从数组末尾移除最后一项,减少数组的length值
var students = [];("bluce","jordan","marlon","kobe");//入栈4项alert(th); //4alert(students[0]); //"bluce",第一项在栈的底部alert(students[1]); //"jordan"("paul");alert(th); //5var item = (); //"paul"alert(th); //4
2、Array的队列方法
栈数据结构的访问规则是LIFO(后进先出),而队列数据结构的访问规则是FIFO(First-In-First-Out,先进先出)。队列在列表的末端添加项,从列表的前端移除项。push()方法是向数组末端添加项的方法,因此要模拟队列只需一个从数组前端取得项的方法——shift(),其能够移除数组中的第一个项并返回该项,同时数组的length-1。结合使用shift()和push()方法,可以像使用队列一样使用数组。
var students = [];("bluce","jordan","marlon","kobe");//入队4项//students=["bluce","jordan","marlon","kobe"];alert(th); //4alert(students[0]); //"bluce",第一项在栈的底部alert(students[1]); //"jordan"("paul");alert(th); //5//students=["bluce","jordan","marlon","kobe","paul"];var item = t(); //"bluce"alert(th); //4//students=["jordan","marlon","kobe","paul"];
此外,ECMAScript还提供了unshift()方法,它能在数组前端添加任意个项并返回新数组的长度。因此,结合使用unshift()和pop()方法,可以从相反的方向来模拟队列,即在数组的前端添加项,从数组末端移除项
-
国产电影制作的特效与国外的差距在哪里
中国和国外起跑线是不一样的,纵观发展史,虽然中国不停地努力缩小差距,但是技术上仍然落后美国一大截。下面是小编整理的国产电影制作的特效与国外的差距在哪里的相关内容,仅供参考,欢迎大家阅读。迪士尼的《奇幻森林》已经上映有一段时间。从万牛奔腾到随风而动的细...
-
word安全模式修复方法
word安全模式修复今天启动Word时,弹出如下提示:“MicrosoftOfficeWord遇到问题需要关闭。我们对此引起的不便表示抱歉遇到问题需要关闭。您正在处理的信息有可能丢失。MicrosoftOfficeWord可以尝试为您恢复。恢复我的工作并重启MicrosoftOfficeWord。请将此问题...
-
关于网络营销中诚信问题的探讨
现如今,越来越多的现代企业及消费者通过互联网开展业务。然而,诚信缺失已经成为制约网络营销发展的瓶颈,日益引起社会的关注。下面是本站小编为大家搜索整理的关于网络营销中诚信问题的探讨,欢迎参考阅读,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届...
-
公文拟办意见怎么提?
公文办理是机关办公部门的一项重要工作,批办性公文的办理则是公文办理工作的重中之重。写好拟办意见,是批办性公文办理的关键环节和难点所在。怎样才能提好拟办意见?在多年的公文办理实践中,我们从“五个结合”着手,收到了较好效果。1结合来文背景、要求掌握来文内...