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


Posted in Javascript onMay 10, 2017

本文实例讲述了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 屏蔽鼠标键盘的几段代码
Jan 02 Javascript
JavaScript 检测浏览器和操作系统的脚本
Dec 26 Javascript
cloudgamer出品ImageZoom 图片放大效果
Apr 01 Javascript
关于可运行代码无法正常执行的使用说明
May 13 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
Jan 16 Javascript
浅谈js的ajax的异步和同步请求的问题
Oct 07 Javascript
Bootstrap模态框禁用空白处点击关闭
Oct 20 Javascript
fetch 使用及如何接收JS传值
Nov 11 Javascript
Vue SSR 组件加载问题
May 02 Javascript
Node.js搭建WEB服务器的示例代码
Aug 15 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
Apr 02 Javascript
了解javascript中变量及函数的提升
May 27 Javascript
BootStrap的两种模态框方式
May 10 #Javascript
微信小程序之购物车功能
Sep 23 #Javascript
js canvas实现QQ拨打电话特效
May 10 #Javascript
bootstrap弹出层的多种触发方式
May 10 #Javascript
详解使用vue脚手架工具搭建vue-webpack项目
May 10 #Javascript
微信小程序 支付后台java实现实例
May 09 #Javascript
使用 Vue.js 仿百度搜索框的实例代码
May 09 #Javascript
You might like
对盗链说再见...
2006/10/09 PHP
PHP如何编写易读的代码
2007/07/10 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
PHP实现的登录,注册及密码修改功能分析
2016/11/25 PHP
php post json参数的传递和接收处理方法
2018/05/31 PHP
PHP中单例模式的使用场景与使用方法讲解
2019/03/18 PHP
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
2017/02/05 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
微信小程序 数据遍历的实现
2017/04/05 Javascript
JavaScript面向对象继承原理与实现方法分析
2018/08/09 Javascript
原生JS实现$.param() 函数的方法
2018/08/10 Javascript
Vue.js组件props数据验证实现详解
2019/10/19 Javascript
100行代码实现vue表单校验功能(小白自编)
2019/11/19 Javascript
JS获取表格视图所选行号的ids过程解析
2020/02/21 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
python一键去抖音视频水印工具
2018/09/14 Python
Pycharm运行加载文本出现错误的解决方法
2019/06/27 Python
python树的同构学习笔记
2019/09/14 Python
django实现用户注册实例讲解
2019/10/30 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
python如何爬取动态网站
2020/09/09 Python
html5实现输入框fixed定位在屏幕最底部兼容性
2020/07/03 HTML / CSS
国际领先的学术出版商:Springer
2017/01/11 全球购物
人力资源专业推荐信
2013/11/29 职场文书
假期安全教育广播稿
2014/10/04 职场文书
优秀党员个人总结
2015/02/14 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
同学聚会致辞集锦
2015/07/28 职场文书
Python数据分析之绘图和可视化详解
2021/06/02 Python
nginx中proxy_pass各种用法详解
2021/11/07 Servers