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代码
Aug 25 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
Jan 13 Javascript
JQuery for与each性能比较分析
May 14 Javascript
解析jquery中的ajax缓存问题
Dec 19 Javascript
node.js中的http.response.writeHead方法使用说明
Dec 14 Javascript
浅谈Sizzle的“编译原理”
Apr 14 Javascript
简介JavaScript中的unshift()方法的使用
Jun 09 Javascript
jQuery实现选项联动轮播效果【附实例】
Apr 19 Javascript
bootstrap Table插件使用demo
Aug 07 Javascript
JS实现div模块的截图并下载功能
Oct 17 Javascript
Vue 2.5 Level E 发布了: 新功能特性一览
Oct 24 Javascript
JavaScript实现通讯录功能
Dec 27 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中利用XML技术构造远程服务(下)
2006/10/09 PHP
php环境下利用session防止页面重复刷新的具体实现
2014/01/09 PHP
php压缩和解压缩字符串的方法
2015/03/14 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
2015/03/27 PHP
Zend Framework教程之Zend_Layout布局助手详解
2016/03/04 PHP
javascript数组去掉重复
2011/05/12 Javascript
JavaScript中的style.display属性操作
2013/03/27 Javascript
判断一个对象是否为jquery对象的方法
2014/03/12 Javascript
file控件选择上传文件确定后触发的js事件是哪个
2014/03/17 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
jQuery自定义动画函数实例详解(附demo源码)
2015/12/10 Javascript
详解Node.Js如何处理post数据
2016/09/19 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
vue组件发布到npm简单步骤
2017/11/30 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
如何在现代JavaScript中编写异步任务
2021/01/31 Javascript
使用70行Python代码实现一个递归下降解析器的教程
2015/04/17 Python
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
python django 增删改查操作 数据库Mysql
2017/07/27 Python
Python实现购物车购物小程序
2018/04/18 Python
解决PySide+Python子线程更新UI线程的问题
2019/01/11 Python
docker django无法访问redis容器的解决方法
2019/08/21 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
酒吧创业计划书
2014/01/18 职场文书
会计电算化应届生自荐信
2014/02/25 职场文书
群众路线四风自我剖析材料
2014/10/08 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
Python+Selenium实现读取网易邮箱验证码
2022/03/13 Python
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL