JSFiddle - React, Tailwind, and code Playground

JavaScript

var EXPORTDATA = [
{"col1":"hello", "col2":"goodbye", "col3":"moooo"},
{"col1":"mello", "col2":"goodbye", "col3":"moooo"},
{"col1":"yello", "col2":"goodbye", "col3":"moooo"},
{"col1":"jello", "col2":"goodbye", "col3":"moooo"}
];


        var csvContent = [];

        for(var i=0; i<EXPORTDATA.length; i++){
          var rowContent = [];
          var row = EXPORTDATA[i];
          if(csvContent.length === 0){
            for(var p in row)
              if(row.hasOwnProperty(p))
                rowContent.push('"'+ (""+p).replace('"','').replace(',','') +'"');
            csvContent.push("data:text/csv;charset=utf-8,"+rowContent.join(","));
            rowContent = [];
          }
          for(var p in row){
            if(row.hasOwnProperty(p))
              rowContent.push('"'+ (""+row[p]).replace('"','').replace(',','') +'"');
          }
          csvContent.push(rowContent.join(","));
        }

        var dat = csvContent.join("\n");
        var encodedUri = encodeURI(dat);
        window.open(encodedUri);