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 相关文章推荐
js 事件处理函数间的Event物件是否全等
Apr 08 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
Dec 11 Javascript
js格式化时间和js格式化时间戳示例
Feb 10 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
Oct 10 Javascript
Vue+axios 实现http拦截及路由拦截实例
Apr 25 Javascript
webpack打包单页面如何引用的js
Jun 07 Javascript
node.js 发布订阅模式的实例
Sep 10 Javascript
手动用webpack搭建第一个ReactApp的示例
Apr 11 Javascript
webpack4之SplitChunksPlugin使用指南
Jun 12 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
Aug 18 Javascript
关于Node.js中频繁修改代码重启服务器的问题
Oct 15 Javascript
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 Vue.js
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
php+mysql分页代码详解
2008/03/27 PHP
php下将XML转换为数组
2010/01/01 PHP
php小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
jQuery之按钮组件的深入解析
2013/06/19 Javascript
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
2014/04/07 Javascript
详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
2015/01/22 Javascript
JavaScript之cookie技术详解
2016/11/18 Javascript
js 判断登录界面的账号密码是否为空
2017/02/08 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
vue-router的HTML5 History 模式设置
2018/09/08 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
vue自定义指令实现方法详解
2019/02/11 Javascript
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
vue编写简单的购物车功能
2021/01/08 Vue.js
python人人网登录应用实例
2014/09/26 Python
Python的Django框架中的Context使用
2015/07/15 Python
Python 正则表达式的高级用法
2016/12/04 Python
django实现用户登陆功能详解
2017/12/11 Python
pytorch 调整某一维度数据顺序的方法
2018/12/08 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
PyCharm导入python项目并配置虚拟环境的教程详解
2019/10/13 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
佳能德国网上商店:Canon德国
2017/03/18 全球购物
老人再婚离婚协议书范本
2014/10/27 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
创业计划书介绍
2019/04/24 职场文书
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js
redis protocol通信协议及使用详解
2022/07/15 Redis