Javascript – All Possible Combinations From Single Array Every Order

Javascript – Generating all combinations of elements in a single array (in pairs)

So I’ve seen this questions and I’ve seen some of the answers to it, but I was wondering if it was possible to get all combinations even if it’s a duplicate in every order possible.

ex.

var array = ["apple", "banana", "lemon", "mango"];

output

var result = [
   "apple"
   "apple banana"
   "apple banana lemon"
   "apple banana lemon mango"
   "apple lemon"
   "apple lemon banana mango"
   "apple lemon mango banana"
   "apple mango"
   "apple mango lemon banana"
   "apple mango banana lemon"
   ...
];

In the end I essentially want all possible combinations whether it be 1 item or pairs or multiple items in every possible order.

The closest answer I’ve seen is this set of code.

function getCombinations(valuesArray: String[])
{

var combi = [];
var temp = [];
var slent = Math.pow(2, valuesArray.length);

for (var i = 0; i < slent; i++)
{
    temp = [];
    for (var j = 0; j < valuesArray.length; j++)
    {
        if ((i & Math.pow(2, j)))
        {
            temp.push(valuesArray[j]);
        }
    }
    if (temp.length > 0)
    {
        combi.push(temp);
    }
}

combi.sort((a, b) => a.length - b.length);
console.log(combi.join("n"));
return combi;
}
let results = getCombinations(['apple', 'banana', 'lemon', ',mango']);

enter image description here