- , , . , , , .
Fiddle
var gameletters = ["P", "E", "H", "E", "U", "I", "S", "Q", "N"];
var wordbank = {
"a": Array(3461),
"b": Array(2391),
};
var matches = {};
function step(word, letters) {
for(var i = 0, len = letters.length; i < len; i++) {
var arr = letters.map(a => a);
if (arr.length === 0) {
return;
}
var letter = arr[i];
arr.splice(i,1);
test(word + letter);
if (arr.length) {
step(word + letter, arr)
}
}
}
function test(word) {
var firstLetter = word.substr(0,1);
if (wordbank[firstLetter].indexOf(word) >= 0) {
matches[word] = 1;
}
}
step("", gameletters);