JSFiddle - React, Tailwind, and code Playground

JavaScript

function toType(x) {
    return ({}).toString.call(x).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}

function flatten(input, output) {
    if (!output) { output = []; }
    for (var i = 0, l = input.length; i < l; i++) {
        var value = input[i];
        if (toType(value) !== 'array' && output.indexOf(value) === -1) {
            output.push(value);
        } else {
            flatten(value, output);
        }
    }
    return output.sort(function (a, b) { return a - b});
};

var arr = [1, 2, 3, [[4]], [10], 5, 1, 3];

console.log(flatten(arr));