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 相关文章推荐
JavaScript Scoping and Hoisting 翻译
Jul 03 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
Jan 10 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
Jul 27 Javascript
jquery 实现回车登录详解及实例代码
Oct 23 Javascript
JS实现颜色的10进制转化成rgba格式的方法
Sep 04 Javascript
javascript 面向对象实战思想分享
Sep 07 Javascript
详解如何在React组件“外”使用父组件的Props
Jan 12 Javascript
详解如何快速配置webpack多入口脚手架
Dec 28 Javascript
JS立即执行函数功能与用法分析
Jan 15 Javascript
微信小程序实现的一键连接wifi功能示例
Apr 24 Javascript
element-ui 中使用upload多文件上传只请求一次接口
Jul 19 Javascript
JavaScript如何把两个数组对象合并过程解析
Oct 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
关于PHP模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
PHP根据两点间的经纬度计算距离
2014/10/31 PHP
thinkphp模板的包含与渲染实例分析
2014/11/26 PHP
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
javascript函数中的arguments参数
2010/08/01 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
2010/11/05 Javascript
js随机颜色代码的多种实现方式
2013/04/23 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
js实现仿qq消息的弹出窗效果
2016/01/06 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
2018/08/12 Javascript
vue 利用路由守卫判断是否登录的方法
2018/09/29 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
2020/01/14 Javascript
vue监听键盘事件的相关总结
2021/01/29 Vue.js
Python后台管理员管理前台会员信息的讲解
2019/01/28 Python
详解Python中is和==的区别
2019/03/21 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
Python脚本打包成可执行文件过程解析
2020/10/20 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
英国在线房屋中介网站:Yopa
2018/01/09 全球购物
师范学院教师自荐书
2014/01/31 职场文书
生产厂长岗位职责
2014/02/21 职场文书
会计核算科岗位职责
2014/03/19 职场文书
个人贷款担保书
2014/04/01 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
医师定期考核实施方案
2014/05/07 职场文书
居委会四风问题个人对照检查材料
2014/09/25 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
Redis配置外网可访问(redis远程连接不上)的方法
2022/12/24 Redis