JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="http://live.datatables.net/media/css/demo_page.css">
<link rel="stylesheet" href="http://live.datatables.net/media/css/demo_table.css">
<script src="msf.markit.com/portal/scripts/jquery.format-1.2.min.js"></script>
<script src="//cdn.datatables.net/1.10.2/js/jquery.dataTables.min.js"></script>
<script src="//cdn.datatables.net/colreorder/1.1.2/js/dataTables.colReorder.min.js"></script>
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>

<button type="button" id="btnChangeData">Change Data</button>

JavaScript

var dataSet1 = [];
var dsRow1 = [];
dsRow1.push(new Date());
dsRow1.push("1000000");
dataSet1.push(dsRow1);
var dsRow2 = [];
dsRow2.push(new Date());
dsRow2.push("2000000");
dataSet1.push(dsRow2);
var dsRow3 = [];
dsRow3.push(new Date());
dsRow3.push("3000000");
dataSet1.push(dsRow3);
var dsRow4 = [];
dsRow4.push(new Date());
dsRow4.push("4000000");
dataSet1.push(dsRow4);
var dsRow5 = [];
dsRow5.push(new Date());
dsRow5.push("5000000");
dataSet1.push(dsRow5);

var dataSet2 = [];
var dsRow1 = [];
dsRow1.push(new Date());
dsRow1.push("6000000");
dataSet2.push(dsRow1);
var dsRow2 = [];
dsRow2.push(new Date());
dsRow2.push("7000000");
dataSet2.push(dsRow2);
var dsRow3 = [];
dsRow3.push(new Date());
dsRow3.push("8000000");
dataSet2.push(dsRow3);
var dsRow4 = [];
dsRow4.push(new Date());
dsRow4.push("9000000");
dataSet2.push(dsRow4);
var dsRow5 = [];
dsRow5.push(new Date());
dsRow5.push("10000000");
dataSet2.push(dsRow5);

var dataSet = dataSet1;

var columnDefs = [
    { "aTargets": ["_all"], "asSorting": ["desc", "asc"] },
    { "aTargets": [0], "sTitle": "Start Date", "sType": "date", "fnRender": getDisplayDate, "bUseRendered": false },
    { "aTargets": [1], "sTitle": "Quantity", "sType": "numeric", "bUseRendered": false }
];

var oTable = $("#example").dataTable({
    "sDom": 'Rlfrtip',
    "aoColumnDefs": columnDefs,
    "aaData": dataSet,
    "bPaginate": false,
    "bInfo": false,
    "bFilter": false,
    "bAutoWidth": true,
    "bJQueryUI": true,
    "bLengthChange": false,
    "aaSorting": [[0, "asc"]]
});

function getDisplayDate(oObj) {    
    var sValue = oObj.aData[oObj.iDataColumn];        
    if (sValue == null) return "";
    if (sValue.getMonth)
    {            
        return $.format.date(sValue, 'dd-MMM-yy');
    }
    else   
    {
        return "Bad date";
    }
}

$("#btnChangeData").click(function(e)
                          {
                              if(dataSet == dataSet1)
                              {
                           ...