JSFiddle - React, Tailwind, and code Playground

by Kerrick

HTML

<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.1.1.css">
<script src="https://code.jquery.com/qunit/qunit-2.1.1.js"></script>
  <div id="qunit"></div>
  <div id="qunit-fixture"></div>

JavaScript

function flatten(arr) {
  var ret = [];
  arr.forEach(function(item) {
    if (Array.isArray(item)) {
      ret = ret.concat(flatten(item));
    }
    else {
      ret.push(item);
    }
  });
  return ret;
}


QUnit.test('Flatten an array', function(assert) {
  assert.expect(3);
  
  assert.deepEqual(flatten([1, [2, 3], [4, [5, 6]]]), [1, 2, 3, 4, 5, 6]);
  assert.deepEqual(flatten([[[[1]]], [[2, 3], 4], 5, [[[[[[[6]]]]]]]]), [1, 2, 3, 4, 5, 6]);
  assert.deepEqual(flatten([6, 5, 4, 3, 2, 1]), [6, 5, 4, 3, 2, 1]);
});