JSFiddle - React, Tailwind, and code Playground

by Alexey Ossikine

JavaScript

function arrayToString(arr){
        let result = '';
        for (var i=0, l=arr.length; i<l; i++){
            if(result) result += "\r\n";
            if (arr[i] instanceof Array) result += arr[i].flat().join(' ');
            else result += arr[i];
        }
        return result;
    }
    
    console.log(arrayToString([ [ 'library/utils.js', '2019-06-09 18:19:08' ],
  [ 'bot/init.js', '2019-06-09 17:13:47' ],
  [ 'models/instance.js', '2019-06-09 16:49:07' ],
  [ 'package-lock.json', '2019-06-09 16:40:37' ],
  [ 'package.json', '2019-06-09 16:40:37' ],
  [ 'library/monitor.js', '2019-06-09 16:35:25' ],
  [ 'library/timekeeper.js', '2019-06-03 13:25:23' ],
  [ 'bin/www', '2019-06-03 12:46:13' ],
  [ 'models/checkins.js', '2019-06-02 22:07:11' ],
  [ 'bot/cluster.js', '2019-06-02 22:05:44' ],
  [ 'library/redis.js', '2019-06-02 22:04:41' ],
  [ 'models/checkin.js', '2019-06-02 21:50:51' ],
  [ 'library/metrics-collector.js', '2019-06-02 21:48:19' ],
  [ 'library/exchanges/coinbase-pro.js', '2019-06-02 21:29:08' ],
  [ 'library/exchanges/coinbase-pro-user-client.js',
    '2019-06-02 21:29:00' ],
  [ 'library/logger.js', '2019-06-02 21:27:08' ],
  [ 'library/mysql.js', '2019-06-02 21:16:46' ],
  [ 'config.json', '2019-06-02 15:45:45' ],
  [ 'models/timestamp.js', '2019-06-02 11:23:34' ],
  [ 'library/constants.js', '2019-05-22 14:04:53' ],
  [ 'library/validator.js', '2019-05-22 12:54:32' ],
  [ 'models/prices.js', '2019-05-20 17:59:01' ],
  [ '2019-05-20 Cryptobot WIP.zip', '2019-05-20 17:55:06' ],
  [ 'library/cache.js', '2019-05-20 14:04:00' ],
  [ 'library/recorder.js', '2019-05-19 15:50:35' ],
  [ 'library/redis-pipeline.js', '2019-05-19 15:34:23' ],
  [ 'library/trader.js', '2019-05-04 16:01:09' ],
  [ 'library/notifier.js', '2019-05-04 15:52:06' ],
  [ '2018-04-28 Cryptobot WIP (no changes).zip',
    '2018-04-28 18:44:55' ],
  [ '2018-03-04 Cryptobot WIP.zip', '2018-03-04 14:07:00' ] ]));