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 面向对象编程 万物皆对象
Sep 17 Javascript
js利用数组length属性清空和截短数组的小例子
Jan 15 Javascript
window resize和scroll事件的基本优化思路
Apr 29 Javascript
关于javaScript注册click事件传递参数的不成功问题
Jul 18 Javascript
js触发select onchange事件的小技巧
Aug 05 Javascript
js操作table元素实现表格行列新增、删除技巧总结
Nov 18 Javascript
Angular 根据 service 的状态更新 directive
Apr 03 Javascript
浅谈JavaScript的计时器对象
Dec 26 Javascript
JavaScript获取中英文混合字符串长度的方法示例
Feb 04 Javascript
JavaScript类数组对象转换为数组对象的方法实例分析
Jul 24 Javascript
vue+element模态框中新增模态框和删除功能
Jun 11 Javascript
一文彻底理解js原生语法prototype,__proto__和constructor
Oct 24 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
一个高效的JavaScript压缩工具下载集合
2007/03/06 Javascript
javascript 读取xml,写入xml 实现代码
2009/07/10 Javascript
关于jQuery object and DOM element
2013/04/15 Javascript
js实现幻灯片播放图片示例代码
2013/11/07 Javascript
js Object2String方便查看js对象内容
2014/11/24 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
javascript基于DOM实现权限选择实例分析
2015/05/14 Javascript
JS实现自动切换文字的导航效果代码
2015/08/27 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
ie下js不执行的几种可能
2017/02/28 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
vue 插槽简介及使用示例
2020/11/19 Vue.js
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
python实现指定字符串补全空格的方法
2015/04/30 Python
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
Python单例模式的两种实现方法
2017/08/14 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
html5的canvas实现3d雪花飘舞效果
2013/12/27 HTML / CSS
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
【魔兽争霸3重制版】原版画面与淬火MOD画面对比
2021/03/26 魔兽争霸
个人找工作的自我评价
2013/10/17 职场文书
我的大学生活职业生涯规划
2014/01/02 职场文书
校园歌咏比赛主持词
2014/03/18 职场文书
党的群众路线教育实践活动个人对照检查剖析材料
2014/09/23 职场文书
入股合作协议书
2014/10/12 职场文书
民主评议政风行风活动心得体会
2014/10/29 职场文书
给老婆道歉的话
2015/01/20 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书