JS实现队列的先进先出功能示例

发布时间 - 2026-01-11 01:03:28    点击率:

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

/**
 * [Queue]
 * @param {[Int]} size [队列大小]
 */
function Queue(size) {
  var list = [];
  //向队列中添加数据
  this.push = function(data) {
    if (data==null) {
      return false;
    }
    //如果传递了size参数就设置了队列的大小
    if (size != null && !isNaN(size)) {
      if (list.length == size) {
        this.pop();
      }
    }
    list.unshift(data);
    return true;
  }
  //从队列中取出数据
  this.pop = function() {
    return list.pop();
  }
  //返回队列的大小
  this.size = function() {
    return list.length;
  }
  //返回队列的内容
  this.quere = function() {
    return list;
  }
}
//初始化没有参数的队列
var queue = new Queue();
for (var i = 1; i <= 5; i++) {
  queue.push(i);
}
console.log(queue.quere());
console.log(queue.pop());  //从队列中取出一个
console.log(queue.quere());
var queue = new Queue(3);
for (var i = 1; i <= 5; i++) {
  queue.push(i);
}
console.log(queue.quere());
console.log(queue.pop());
console.log(queue.quere());

结果:

[ 5, 4, 3, 2, 1 ]
1
[ 5, 4, 3, 2 ][ 5, 4, 3 ]
3
[ 5, 4 ]

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》

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


# JS  # 队列  # 先进先出  # 浅谈Vuejs中nextTick()异步更新队列源码解析  # JS异步函数队列功能实例分析  # JavaScript队列函数和异步执行详解  # JavaScript 异步方法队列链实现代码分析  # JS实现队列与堆栈的方法  # js下写一个事件队列操作函数  # JS异步宏队列与微队列原理区别详解  # 相关内容  # 遍历  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 程序设计  # 讲述了  # size  # Int  # param  # function  # push  # list  # var  # Queue  # JavaScript  # amp 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: EditPlus中的正则表达式实战(6)  如何挑选优质建站一级代理提升网站排名?  Laravel如何实现API资源集合?(Resource Collection教程)  如何快速完成中国万网建站详细流程?  html5的keygen标签为什么废弃_替代方案说明【解答】  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  如何在万网ECS上快速搭建专属网站?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Python文件异常处理策略_健壮性说明【指导】  音响网站制作视频教程,隆霸音响官方网站?  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  JavaScript如何操作视频_媒体API怎么控制播放  JS实现鼠标移上去显示图片或微信二维码  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  android nfc常用标签读取总结  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  深圳网站制作的公司有哪些,dido官方网站?  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  网站建设保证美观性,需要考虑的几点问题!  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  Python面向对象测试方法_mock解析【教程】  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  如何用PHP快速搭建CMS系统?  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Android 常见的图片加载框架详细介绍  如何快速查询域名建站关键信息?  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  韩国服务器如何优化跨境访问实现高效连接?  使用Dockerfile构建java web环境  如何在云主机上快速搭建多站点网站?  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Android okhttputils现在进度显示实例代码  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  详解MySQL数据库的安装与密码配置  香港服务器网站推广:SEO优化与外贸独立站搭建策略  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  如何快速生成专业多端适配建站电话?  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区