Javascript函数生成符合元音和辅音模式的所有可能单词的列表

时间:2014-10-15 15:01:58

标签: javascript permutation alphabetical

我正在尝试创建一个函数,该函数将生成一个符合元音和辅音模式的所有可能字母组合的数组。

例如,给定字符串“VCV”,其中V =元音,C =辅音,我想获得符合该模式的所有可能字母组合的列表。

['ABA','ABE','ABI','ABO','ABU','ACA','ACE',....]

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果你想天真地结合字母,那么这是一回事。但是你似乎暗示你想生成有效的单词,这是一个完全不同的任务。

基本步骤包括:

  • 决定您要提取的字词的来源

  • 为元音和辅音标记所有这些单词

  • 写一种访问它们的方法/查询它们

我认为在浏览器中执行所有这些客户端都是一个坏主意,考虑到任何规模的字典都将占用少量无足轻重的资源。我建议你的JS向服务器发送请求,该服务器提供该请求,然后用AJAX之类的方式发回结果。

然后你可以在服务器端做很多事情,虽然我亲自使用NLTK语言任务取得了巨大的成功,这可能是一个可以开始的地方。

修改

您的问题更加明确。假设你有一系列元音,vowels和辅音,consonants,也许是这样的:

var results = []
function getResult(refString, currentString){
    if(currentString === undefined){
        currentString = "";
    }
    if(refString.length === 0){
        return currentString;
    }else {
        if(refString[0] === 'C'){
            for(var i in consonants){
                 results.push(getResult(refString.slice(1),currentString + consonants[i]));
            }
        } else if (refString[0] === 'V'){
            for(var i in vowels){
                 results.push(getResult(refString.slice(1),currentString + vowels[i]));
            }
        }
    }
}