我是靠谱客的博主 威武电源,最近开发中收集的这篇文章主要介绍JS实现【队列】插队功能,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

队列 FIFO

队列:先入先出

主要实现以下方法:
enqueue 入列
dequeue 出列
front 返回第一个元素
isEmprty 返回是否为空
size 长度

具体实现方式如下:

let Queue = (
  function(){
    const _item = new WeakMap()

    class QueueElement {
      constructor(element,priority){
        this.element = element
        this.priority = proiority  // 优先级
      }
    }   
    return class Queue {
      constructor() {
        _item.set(this,[])
      }

      enqueue(element,priority){
        let queueElement = new QueueElement(element,priority)
        let isAdd = false
        
        // 根据优先级追加
        for(var i = 0; i < _item.get(this).length; i++){
          if(queueElement.priority < _item.get(this)[i].priority)      {
          _item.get(this).splice(i,0,queueElement)
          isAdd = true
          break
          }
        }
        if(!isAdd){
          _item.get(this).push(queueElement)
        }
        
      }
 
      dequeue(){
        return _item.get(this).shift()
      }

      front(){
        return _item.get(this)[0]
      }
   
      isEmprty(){
        return _item.get(this).length === 0
      }
 
      size(){
        return _item.get(this).length
      }
    }
)()

最后

以上就是威武电源为你收集整理的JS实现【队列】插队功能的全部内容,希望文章能够帮你解决JS实现【队列】插队功能所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部