JS使用数组实现的队列功能示例


Posted in Javascript onMarch 04, 2019

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

/*一个用数组实现的队列*/
function Queue(){
  this.dataStore = [];//存放队列的数组,初始化为空
  this.enqueue = enqueue;//向队列尾部添加一个元素
  this.dequeue = dequeue;//删除队首的元素
  this.theFront = theFront;//读取队首的元素
  this.back = back;//对取队尾的元素
  this.toStrings = toStrings;//显示队列内的所有元素
  this.empty = empty;//判断队列是否为空
}
function enqueue(element){
  this.dataStore.push(element);
}
function dequeue(){
  this.dataStore.shift();
}
function theFront(){
  return this.dataStore[0];
}
function back(){
  return this.dataStore[this.dataStore.length-1];
}
function toStrings(){
  return this.dataStore;
}
function empty(){
  if(this.dataStore.length == 0){
    return true;
  }else{
    return false;
  }
}
/*测试程序*/
var q = new Queue();
q.enqueue("aa");
q.enqueue("bb");
q.enqueue("cc");
console.log(q.toStrings());//[ 'aa', 'bb', 'cc' ]
q.dequeue();
console.log(q.toStrings());//[ 'bb', 'cc' ]
console.log(q.theFront());//bb
console.log(q.back());//cc

这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,可得如下运行结果:

JS使用数组实现的队列功能示例

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

Javascript 相关文章推荐
asp javascript 实现关闭窗口时保存数据的办法
Nov 24 Javascript
加载列表时jquery获取ul中第一个li的属性
Nov 02 Javascript
给easyui的datebox控件添加清空按钮的实现方法
Nov 09 Javascript
Windows系统下安装Node.js的步骤图文详解
Nov 15 Javascript
jquery实现input框获取焦点的简单实例
Jan 26 Javascript
Vue.js -- 过滤器使用总结
Feb 18 Javascript
webpack配置的最佳实践分享
Apr 21 Javascript
jQuery简介_动力节点Java学院整理
Jul 04 jQuery
vue.js评论发布信息可插入QQ表情功能
Aug 08 Javascript
javaScript和jQuery自动加载简单代码实现方法
Nov 24 jQuery
解决Mac安装thrift因bison报错的问题
May 17 Javascript
微信小程序实现搜索功能
Mar 10 Javascript
JS使用栈判断给定字符串是否是回文算法示例
Mar 04 #Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
Mar 04 #Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
Mar 04 #Javascript
使用ESLint禁止项目导入特定模块的方法步骤
Mar 04 #Javascript
微信小程序textarea层级过高的解决方法
Mar 04 #Javascript
浅析vue中的MVVM实现原理
Mar 04 #Javascript
JavaScript实现的九种排序算法
Mar 04 #Javascript
You might like
让CodeIgniter的ellipsize()支持中文截断的方法
2014/06/12 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
PHP简单生成缩略图相册的方法
2015/07/29 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
2015/12/02 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
vmware linux系统安装最新的php7图解
2019/04/14 PHP
prototype class详解
2006/09/07 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
js 判断脚本加载完毕的代码
2011/07/13 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
2013/08/05 Javascript
jquery中的过滤操作详细解析
2013/12/02 Javascript
解析页面加载与js函数的执行 onload or ready
2013/12/12 Javascript
小结Node.js中非阻塞IO和事件循环
2014/09/18 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
jQuery制作全屏宽度固定高度轮播图(实例讲解)
2017/07/08 jQuery
20个最常见的jQuery面试问题及答案
2018/05/23 jQuery
webpack的tree shaking的实现方法
2019/09/18 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
2019/04/29 Python
python中时间模块的基本使用教程
2019/05/14 Python
Python模块/包/库安装的六种方法及区别
2020/02/24 Python
Python 创建守护进程的示例
2020/09/29 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
详解使用scrapy进行模拟登陆三种方式
2021/02/21 Python
世界上最大的售后摩托车零配件超市:J&P Cycles
2017/12/08 全球购物
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
公司担保书范文
2014/05/21 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android