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 相关文章推荐
初试jQuery EasyUI 使用介绍
Apr 01 Javascript
Javascript根据指定下标或对象删除数组元素
Dec 21 Javascript
js的2种继承方式详解
Mar 04 Javascript
点击表单提交时出现jQuery没有权限的解决方法
Jul 23 Javascript
javascript每日必学之封装
Feb 23 Javascript
基于jQuery实现多标签页切换的效果(web前端开发)
Jul 24 Javascript
全站最详细的Vuex教程
Apr 13 Javascript
基于webpack4+vue-cli3项目实现换肤功能
Jul 17 Javascript
JS图片懒加载的优点及实现原理
Jan 10 Javascript
JS实现联想、自动补齐国家或地区名称的功能
Jul 07 Javascript
前端vue+elementUI如何实现记住密码功能
Sep 20 Javascript
如何让vue长列表快速加载
Mar 29 Vue.js
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
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
PHP中substr函数字符串截取用法分析
2016/01/07 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
php实现推荐功能的简单实例
2019/09/29 PHP
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
优化innerHTML操作(提高代码执行效率)
2011/08/20 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
2013/11/28 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
用nodejs搭建websocket服务器
2017/01/23 NodeJs
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
2018/11/14 Javascript
深入koa-bodyparser原理解析
2019/01/16 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
加速vue组件渲染之性能优化
2020/04/09 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
Django CSRF跨站请求伪造防护过程解析
2019/07/31 Python
详解python tkinter模块安装过程
2020/01/06 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
埃弗顿足球俱乐部官方网上商店:Everton Direct
2018/01/13 全球购物
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
物业管理公司实习生自我鉴定
2013/09/19 职场文书
技术经理的自我评价范文
2013/12/03 职场文书
体育专业学生自我评价范文
2014/01/17 职场文书
个人自我评价和职业目标
2014/01/24 职场文书
高三高考决心书
2014/03/11 职场文书
社区交通安全实施方案
2014/03/22 职场文书
热门专业求职信
2014/05/24 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
物理系毕业生自荐书
2014/06/13 职场文书
党员个人剖析材料
2014/09/30 职场文书
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS