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 相关文章推荐
让getElementsByName适应IE和firefox的方法
Sep 24 Javascript
使弱类型的语言JavaScript变强势
Jun 22 Javascript
html 锁定页面(js遮罩层弹出div效果)
Oct 27 Javascript
js截取小数点后几位的写法
Nov 14 Javascript
javascript实现页面内关键词高亮显示代码
Apr 03 Javascript
JavaScript原型及原型链终极详解
Jan 04 Javascript
基于JavaScript实现TAB标签效果
Jan 12 Javascript
在JavaScript中调用Java类和接口的方法
Sep 07 Javascript
js 输入框 正则表达式(菜鸟必看教程)
Feb 19 Javascript
手把手教你搭建ES6的开发运行环境
Jul 11 Javascript
浅谈 vue 中的 watcher
Dec 04 Javascript
vue以组件或者插件的形式实现throttle或者debounce
May 22 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
PHP关联链接常用代码
2012/11/05 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
php+mysql实现数据库随机重排实例
2014/10/17 PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
2014/12/17 PHP
PHP字符串和十六进制如何实现互相转换
2020/07/16 PHP
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
IE 条件注释详解总结(附实例代码)
2009/08/29 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
让angularjs支持浏览器自动填表
2014/11/10 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
利用jquery禁止外层滚动条的滚动
2017/01/05 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
2017/03/15 Javascript
JavaScript满天星导航栏实现方法
2018/03/08 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
初步解析Python中的yield函数的用法
2015/04/03 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
2016/07/12 Python
python中os和sys模块的区别与常用方法总结
2017/11/14 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
Python实现的读写json文件功能示例
2018/06/05 Python
python3获取文件中url内容并下载代码实例
2019/12/27 Python
非常震撼的纯CSS3人物行走动画
2016/02/24 HTML / CSS
市场营销毕业生自荐信
2013/11/23 职场文书
行政助理工作职责范本
2014/03/04 职场文书
群众路线领导对照材料
2014/08/23 职场文书
汽车机电维修工求职信
2014/09/30 职场文书
计算机实训报告范文
2014/11/05 职场文书
泰坦尼克号观后感
2015/06/04 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
女儿满月酒致辞
2015/07/29 职场文书
Python实现DBSCAN聚类算法并样例测试
2021/06/22 Python