残缺可运行代码

class Queue {  constructor() {    this.count = 0    // 队头    this.head = 0    this.items = {}  }  enqueue(element) {    this.items[this.count] = element    this.count++;  }  dequeue() {    if (this.isEmpty()) {      return undefined;    }    const result = this.items[this.head]    delete this.items[this.head]    this.head++    return result  }  peek() {    if (this.isEmpty()) {      return undefined    }    return this.items[this.head]  }  isEmpty() {    return this.size() === 0  }  clear() {    this.items = {}    this.count = 0    this.head = 0  }  size() {    return this.count - this.head  }  toString() {    if (this.isEmpty()) {      return ''    }    let objString = `${this.items[this.head]}`    for (let i = this.head + 1; i < this.count; i++) {      objString = `${objString},${this.items[i]}`    }    return objString  }}// const queue = new Queue()queue.enqueue('a')queue.enqueue('b')queue.enqueue('c')queue.enqueue('d')console.log(queue.toString()) //--> a,b,c,dqueue.dequeue()queue.dequeue()console.log(queue.toString()) //--> c,dconsole.log(queue.peek()) //--> cconsole.log(queue.isEmpty()) //--> falseconsole.log(queue.size()) //--> 2