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]);
});