JS实现队列的先进先出功能示例

 更新时间:2017年05月10日 09:27:29   作者:TBHacker  
这篇文章主要介绍了JS实现队列的先进先出功能,结合实例形式分析了基于JS的队列初始化、赋值等相关操作技巧,需要的朋友可以参考下

本文实例讲述了JS实现队列的先进先出功能。分享给大家供大家参考,具体如下:

/**
 * [Queue]
 * @param {[Int]} size [队列大小]
 */
function Queue(size) {
  var list = [];
  //向队列中添加数据
  this.push = function(data) {
    if (data==null) {
      return false;
    }
    //如果传递了size参数就设置了队列的大小
    if (size != null && !isNaN(size)) {
      if (list.length == size) {
        this.pop();
      }
    }
    list.unshift(data);
    return true;
  }
  //从队列中取出数据
  this.pop = function() {
    return list.pop();
  }
  //返回队列的大小
  this.size = function() {
    return list.length;
  }
  //返回队列的内容
  this.quere = function() {
    return list;
  }
}
//初始化没有参数的队列
var queue = new Queue();
for (var i = 1; i <= 5; i++) {
  queue.push(i);
}
console.log(queue.quere());
console.log(queue.pop());  //从队列中取出一个
console.log(queue.quere());
var queue = new Queue(3);
for (var i = 1; i <= 5; i++) {
  queue.push(i);
}
console.log(queue.quere());
console.log(queue.pop());
console.log(queue.quere());

结果:

[ 5, 4, 3, 2, 1 ]
1
[ 5, 4, 3, 2 ][ 5, 4, 3 ]
3
[ 5, 4 ]

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • alert和confirm功能介绍

    alert和confirm功能介绍

    这篇文章主要为大家介绍了alert和confirm的功能,需要的朋友可以参考下
    2014-05-05
  • JavaScript 浮动定位提示效果实现代码

    JavaScript 浮动定位提示效果实现代码

    本来想做一个集合浮动定位和鼠标跟随的tooltips效果,但发现定位和鼠标跟随在一些关键的地方还是不同的,还是分开来吧。
    2009-09-09
  • javascript使用for循环批量注册的事件不能正确获取索引值的解决方法

    javascript使用for循环批量注册的事件不能正确获取索引值的解决方法

    这篇文章主要介绍了javascript使用for循环批量注册的事件不能正确获取索引值的解决方法,对比分析了出现问题的代码与修改后的代码,并给出了采用闭包实现的方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • 微信小程序实现页面浮动导航

    微信小程序实现页面浮动导航

    这篇文章主要为大家详细介绍了微信小程序实现页面浮动导航,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • javascript一些不错的函数脚本代码

    javascript一些不错的函数脚本代码

    收集一些不多见的好用的自定义函数代码 计算字符长度的js函数 去字符中前后的空格的js函数 图片自适应大小函数代码
    2008-09-09
  • ECMAScript中var let const常见问题及区别详解

    ECMAScript中var let const常见问题及区别详解

    这篇文章主要为大家介绍了ECMAScript中var let const常见问题及区别详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • js调用css属性写法

    js调用css属性写法

    对于没有中划线的css属性一般直接使用style.属性名即可,对于含有中划线的css属性,将每个中划线去掉并将每个中划线后的第一个字符换成大写即可,感兴趣的朋友可以参考下
    2013-09-09
  • JS一维数组转化为三维数组方法

    JS一维数组转化为三维数组方法

    这篇文章主要给大家分享了JS一维数组转化为三维数组的方法,下面文章围绕JS数组转换的相关资料展开内容,对大家的学习有一定的参考价值,需要的小伙伴可以参考一下
    2022-01-01
  • js实现同一页面多个运动效果的方法

    js实现同一页面多个运动效果的方法

    这篇文章主要介绍了js实现同一页面多个运动效果的方法,涉及javascript操作页面元素运动效果的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • 探究一道价值25k的蚂蚁金服异步串行面试题

    探究一道价值25k的蚂蚁金服异步串行面试题

    这篇文章主要介绍了探究一道价值25k的蚂蚁金服异步串行面试题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08

最新评论