首页 > 网站 > WEB开发 > 正文

Array类型中的栈方法

2024-04-27 15:05:14
字体:
来源:转载
供稿:网友

ECMAScript数组也提供了一种让数组的行为类似于其他数据结构的方法。具体说来,数组可以表现的就像栈一样,后者是可以限制插入和删除项的数据结构。栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构,也就是最新添加的项最早被移除,。而栈中项的插入(叫做推入)和移除(叫做弹出),只发生在一个位置—-栈的顶部。js为数组专门提供了push()与pop()的方法,以便实现类似栈的行为。

push()方法可以接受任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。而pop()方法则从数组末尾移除最后一项,减少数组的length值,然后返回移除的项。

<scriPPT> var colors =new Array(); var count =colors.push("red","green"); //推入两项 alert(count) //2 count = colors.push("black");//推入另一项 alert(count);//3 var item = colors.pop();//取得最后一项 alert(item); //"black" alert(colors.length);//2</script>

除了上面的方法之外,还可以将栈方法与其他的数组方法连用:

<script> var colors =new Array(); var count = colors.unghift("red","green");//推入两项 alert(count); //2 count=colors.unghift("black");//推入另一项 alert(count);//3 var item = colors.pop();//取得最后一项 alert(item);//"green" alert(colors.length); //2</script>

这个例子创建了一个数组并使用unghift()方法先后推入了三个值。首先是“red”和”green”,然后是”black”,数组中各项的顺序为”black”,”red”,”green”.在调用pop()方法时,移除并返回的是最后一项。即”green”.

注意:IE7及更早版本对javaScript的实现中存在一个偏差,其unghift()方法总是返回unghift而不是数组的新长度。IE8在非兼容模式下会返回正确的长度值。


上一篇:车辆定位系统

下一篇:DOM事件探秘

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表