Вот вам готовая простейшая очередь в виде объекта без всяких переборов:
class Queue {
constructor() {
this.items = {};
this.front = 0;
this.rear = 0;
}
enqueue(item) {
this.items[this.rear] = item;
this.rear++;
}
dequeue() {
const item = this.items[this.front];
delete this.items[this.front];
this.front++;
return item;
}
peek() {
return this.items[this.front];
}
get size() {
return this.rear - this.front;
}
isEmpty() {
return this.rear == 0;
}
}
const queue = new Queue();
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
queue.enqueue(4);
queue.enqueue(5);
console.log("Объект очереди: ", queue);
const removed_element = queue.dequeue();
console.log("Обработанный (удаленный) элемент: ", removed_element);
console.log("Объект очереди:", queue);
const top_element = queue.peek();
console.log("Текущий элемент очереди для обработки (без удаления): ", top_element);
const queue_length = queue.size;
console.log("Размер очереди: ", queue_length);