JSFiddle - React, Tailwind, and code Playground

by wooozy

HTML

<!-- forked from Sample by Dr. Eaglin
https://jsfiddle.net/reaglin/0LLt6q55/ -->
<p id='reportout'></p>

JavaScript

var Node = function(_content) {
      this.next = null;
      this.last = null;
      this.content = _content;

    }
  var Stack = function() {
    this.head = null;
    this.top = null;
    
    this.push = function(_content) {
      // No head - create one
      if (this.head == null) {
        this.head = new Node(_content);
        this.top = this.head;
        return this;
      }
      
      var addedNode = new Node(_content);
      addedNode.last = this.top;   
      this.top.next = addedNode;   
      this.top = addedNode;        
      return this;
    }


    this.pop = function() {
      if (this.head == null) {
        
        return null;
      }

			var a = this.top.content;

      if(this.top == this.head){
        
				    this.head = null;
    				this.top = null;
           	return a;
      }else{
        this.top = this.top.last;
        this.top.next = null;      
      	return a;
      }
    }


    this.toString = function() {
      var str = "";
      var node = this.head;
      if (this.head == null){
        str = "Stack is Empty";
      }else{
      
      }
      while (node != null) {
        str += node.content + "&nbsp";
        node = node.next;
      }
      return str;
    }
    
    this.countElements = function() {
      var countX = 0;
      var node = this.head;
      while (node != null) {
        node = node.next;
        countX= countX+1;
      }
      return countX;
    }
  }



  var StartCalc = '<input type="textbox" id="operatorIn" value="+" size="1"/><input type="button" value="Run Calculator" onClick="StartCalc();" />';

	var deleteTop = '<input type="button" value="Remove Top Element" onClick="deleteTopElement();" />';
  
  var AddStacks = '<input type="textbox" id="valueToAdd" value="10" size="3"/><input type="button" value="Add to Stack" onClick="addToStack();" />';


function addToStack() {
  var valueToAdd = document.getElementById("valueToAdd").value;
	report = "";
	report += "Added:" +  valueToAdd;
 ...