Det enklaste, men också fulaste, är väl att göra fem nästlade loopar. Nu kan jag inte Javascript så bra, men i pseudo-kod/Python:
abc = "abcdef ... z"
combinations = []
for L1 in abc:
for L2 in abc:
for L3 in abc:
for L4 in abc:
for L5 in abc:
combinations.append(L1+L2+L3+L4+L5)
Då får du alla kombinationer med fem tecken. Gör samma sak för fyra, tre, två osv. (En nästlad loop per tecken.)
Den snygga, men mer komplexa lösningen -- som jag inte minns riktigt -- är att använda en enda rekursiv funktion.
