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

Javascript function to generate list of all possible words that conform to vowel and consonant pattern

本文关键字:函数 模式 有可能 列表 单词 Javascript      更新时间:2023-09-26

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

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

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

有什么想法吗?

如果你只想天真地组合字母,那是一回事。然而,你似乎暗示你想要生成有效的单词,这是一项完全不同的任务。

基本步骤包括:

  • 决定你想从中提取的单词的来源

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

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

我认为在浏览器中完成所有这些客户端操作是个坏主意,因为任何大小的字典都会占用不到微不足道的资源。我建议你的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]));
            }
        }
    }
}