JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="http://cdn.datatables.net/1.10.2/css/jquery.dataTables.min.css">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-with-locales.min.js"></script>
<script src="http://cdn.datatables.net/1.10.2/js/jquery.dataTables.min.js"></script>
<form id="search-form">
  <div class="form-group">
    <br>
    <div class="form-base">
      <div class="col-md">
        <label for="API"><b>API:</b></label>
        <select class="form-control" name="API" id="API" required="true">
		<option value="fourteen">14 column result</option>
		<option value="twelve">12 column result</option>
	</select> <br>
      </div>
    </div>
    <div class="form-group">
      <div class="col-sm-offset-2 col-sm-10">
        <button type="submit" class="btn btn-primary" id="submit-button">Submit</button>
      </div>
    </div>

  </div>
</form>

JavaScript

var result = [];
			var APIheadings = [];
			var outerHTML = document.createElement('div');
			outerHTML.className = "container-fluid";
			outerHTML.id = 'outer-HTML';
			var table = document.createElement('table');
			table.id = 'result-table';
			table.className = 'table table-striped';
			var tableHead = document.createElement('thead');
			var firstRow = document.createElement('tr');

			var columnHeading = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"];
			columnHeading.forEach(function(headerCell) {
			  var th = document.createElement('th');
			  th.appendChild(document.createTextNode(headerCell));
			  firstRow.appendChild(th);
			})

			tableHead.appendChild(firstRow);
			table.append(tableHead);
			document.body.appendChild(table);

			displaytable = $('#result-table').dataTable({
			  columnDefs: [{
			    className: "dt-center",
			    targets: [0, 1, 2, 3, 4, 5, 6, 7, 8]
			  }],
			  "lengthMenu": [
			    [100, 200, 500, -1],
			    [100, 200, 500, "All"]
			  ]
			});

			function addBody(heading) {

			  while (firstRow.lastChild) {
			    firstRow.removeChild(firstRow.lastChild);
			  }

			  heading.forEach(function(headerCell) {
			    var th = document.createElement('th');
			    th.appendChild(document.createTextNode(headerCell));
			    firstRow.appendChild(th);
			  });

			  displaytable = $('#result-table').dataTable({
			    columnDefs: [{
			      className: "dt-center",
			      targets: [0, 1, 2, 3, 4, 5, 6, 7, 8]
			    }],
			    "lengthMenu": [
			      [100, 200, 500, -1],
			      [100, 200, 500, "All"]
			    ]
			  });

			}

			var header_map = new Map([
			  ["fourteen", ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"]],
			  ["twelve", ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"]]
			]);


			var datamap = new Map([
			  ["fourteen",
			  [
			    ['2018-07-02 09:54:58',
			      '0',
			      'xx',
			      'xx',
			      'xx',
			      'xx',
			     ...