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 function使用心得
May 10 Javascript
用JQUERY增删元素的代码
Feb 14 Javascript
鼠标焦点离开文本框时验证的js代码
Jul 19 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
Mar 03 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
Mar 02 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
Aug 21 Javascript
jQuery实现的简单提示信息插件
Dec 08 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
Jul 12 Javascript
JS删除数组里的某个元素方法
Feb 03 Javascript
js抽奖转盘实现方法分析
May 16 Javascript
Vue性能优化的方法
Jul 30 Javascript
原生js实现自定义滚动条组件
Jan 20 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 Mysql日期和时间函数集合
2007/11/16 PHP
微信支付的开发流程详解
2016/09/13 PHP
Yii CDBCriteria常用方法实例小结
2017/01/19 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
asp 的 分词实现代码
2007/05/24 Javascript
用Mootools获得操作索引的两种方法分享
2011/12/12 Javascript
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
2014/03/14 Javascript
js对象的复制继承实例
2015/01/10 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
js编写选项卡效果
2017/05/23 Javascript
利用node.js如何创建子进程详解
2017/12/09 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
python装饰器与递归算法详解
2016/02/18 Python
Python探索之创建二叉树
2017/10/25 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
深入了解Django View(视图系统)
2019/07/23 Python
python多进程重复加载的解决方式
2019/12/13 Python
Python netmiko模块的使用
2020/02/14 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
如何基于python实现不邻接植花
2020/05/01 Python
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
毕业生个人求职自荐信
2014/02/26 职场文书
运动会演讲稿
2014/05/07 职场文书
2014年个人工作总结范文
2014/11/07 职场文书
中班上学期个人总结
2015/02/12 职场文书
Dashboard管理Kubernetes集群与API访问配置
2022/04/01 Servers