“стек в JavaScript” Ответ

Как создать стек в JavaScript?

/* Errors to be thrown when 
   trying to get elements from
   an empty stack. */
class StackError extends Error {
  constructor(message) {
    super(message);
    this.name = "Stack Error";
  }
}
// Last In First Out stack data structure
class Stack {
  constructor() {
    this.items = []; // container holding elements
  }
  // Getter methods
  get size() {
    return this.items.length;
  }
  get isEmpty() {
    return this.size === 0;
  }
  // push: push an element onto
  // top of the stack
  push(item) {
    this.items.push(item);
  }
  // pop: pop top element from stack
  pop() {
    if (this.isEmpty) {
      throw new StackError("Stack is empty!");
    }
    return this.items.pop();
  }
  // peek: return top element of stack
  peek() {
    if (this.isEmpty) {
      throw new StackError("Stack is empty!");
    }
    return this.items[this.items.length - 1];
  }
}
const stack = new Stack();
try {
  stack.peek(); // Stack is empty => error
} catch (err) {
  console.log(err.message); // Stack is empty!
}
// Add elements 1, 2, and 3 to stack
for (let idx = 1; idx <= 3; idx++) {
  stack.push(idx);
}
console.log("Size:", stack.size); // Size: 3
const stackContent = [];
while (!stack.isEmpty) {
  stackContent.push(stack.pop() + " ");
}
console.log("Stack:", stackContent.join("")); // Stack: 3 2 1
Wissam

стек в JavaScript

class Stack{
   constructor() 
    { 
        this.items = []; 
    } 
   
    push(element) 
   { 
    // push element into the items 
    this.items.push(element); 
    }
  
    pop() 
    { 
    if (this.items.length == 0) 
        return "Underflow"; 
    return this.items.pop(); 
    } 
  
    peek() 
	{ 
    	return this.items[this.items.length - 1]; 
	} 
  
    printStack() 
    { 
    	var str = ""; 
    	for (var i = 0; i < this.items.length; i++) 
        	str += this.items[i] + " "; 
    	return str; 
    } 

}
Mak009

Пример стека в JavaScript

class Stack {
  constructor() {
    this.items = [];
  }

  push(item) {
    this.items.unshift(item);
  }

  pop() {
    return this.items.shift();
  }

  peek() {
    return this.items[0];
  }

  isEmpty() {
    return this.items.length === 0;
  }
}


let s =	new Stack();
s.push("one");
s.push("two");
s.push("three");
s.pop("two");
console.log(s);
Javasper

Ответы похожие на “стек в JavaScript”

Вопросы похожие на “стек в JavaScript”

Больше похожих ответов на “стек в JavaScript” по JavaScript

Смотреть популярные ответы по языку

Смотреть другие языки программирования