教程集 www.jiaochengji.com
教程集 >  脚本编程  >  javascript  >  正文 JavaScript的shift()和unshift()方法

JavaScript的shift()和unshift()方法

发布时间:2015-02-09   编辑:jiaochengji.com
本文介绍下,javascript中数组方法shift()和unshift()的用法,有需要的朋友参考下吧。

在javascript脚本中,栈数据结构的访问规则是LIFO(后进先出),而队列数据结构的访问规则是FIFO(first-in-first-out,先进先出)。
队列在列表的末端添加项,从列表的前端移除项。
由于push()是向数组末端添加项的方法,一次要模拟队列只需一个从数组前端取得项的方法。
实现此操作的数组方法就是shift(),它能够移除数组中的第一项并返回该项,同时将数组长度减1。
结合使用shift()和push()方法,可以像使用队列一样使用数组:
 

复制代码 代码示例:
var colors = new Array();                 //创建一个数组
var count = colors.push("red", "green");  //推入两项
alert(count);                             //2
count = colors.push("black");             //推入另一项
alert(count);                             //3
var item = colors.shift();                //取得第一项
alert(item);                              //"red"
alert(colors.length);                     //2
 

ECMAScript还为数组提供了一个unshift()方法。unshift()shift()的用途相反:它能在数组的前端添加任意各项并返回新数组的长度。
因此,同时使用unshift()和pop()方法,可以从相反的方向来模拟队列,即在数组的前端添加项,从数组末端移除项,例如:
 

复制代码 代码示例:

var colors = new Array();                    //创建一个数组
var count = colors.unshift("red", "green");  //推入两项
alert(count);                                //2

count = colors.unshift("black");             //推入另一项
alert(count);

var item = colors.pop();                     //取得最后一项
alert(item);                                 //"green"
alert(colors.length);                        //2
 

IE对JavaScript的实现存在一个偏差,其unshift()方法总是返回undefined而不是数组的新长度。

您可能感兴趣的文章:
JavaScript的shift()和unshift()方法
javascript数组操作方法大全(例子)
JS数组中添加与删除内容的方法
javascript数组的操作方法push,pop,shift,unshift等详解
javascript数组操作方法总结(推荐)
JavaScript 数组(Array)基础
js数组定义 js数组属性与方法教程
js数组操作方法大全
javascript数组使用入门
JS中数组Array操作实例分享

[关闭]
~ ~