Javascript三级组合

Javascript Three-Level Combination

本文关键字:三级 组合 Javascript      更新时间:2023-09-26

我试图创建一个小的JavaScript工具,我可以创建三个列表的组合。每个组合由一个辅音、一个字母和一个字母组成。我认为它可以通过简单的嵌套循环来解决,但是"文档"。"写"行导致无限循环,而且似乎没有增加。第一个组合重复了一遍又一遍,但它永远不会进入下一个组合。如果有人能看一下代码,看看为什么会这样,我会非常感激。谢谢!

function combine()
{
    // lists
    var consonants = ["א", "ב", "ג", "ד", "ה", "ו", "ז", "ח", "ט", "י", "ך", "כ", "ל", "ם", "מ", "ן", "נ", "ס", "ע", "ף", "פ", "ץ", "צ", "ק", "ר", "שׁ", "שׂ", "ת"];
    var niqqudot = ["", "ְ", "ֱ", "ֲ", "ֳ", "ִ", "ֵ", "ֶ", "ַ", "ָ", "ֹ", "ֻ", "ׇ", "ֿ", "ׄ", "ׅ", "ּ", "ֽ"];
    var teamim = ["", "֑", "֒", "֓", "֔", "֕", "֖", "֗", "֘", "֙", "֚", "֛", "֜", "֝", "֞", "֟", "֠", "֡", "֢", "֣", "֤", "֥", "֦", "֧", "֨", "֩", "֪", "֫", "֬", "֭", "֮", "֯"];
    // all combinations
    var combinations = "";
    // counter variables
    var i = 0;
    var j = 0;
    var k = 0;
    for (i = 0; i < consonants.length; i+1)
    {
        for (j = 0; j < niqqudot.length; j+1)
        {
            for (k = 0; k < teamim.length; k+1)
            {
                //combinations = combinations + consonants[i] + niqqudot[j] + teamim[k]+ "'r'n" ;
                document.write(consonants[i] + niqqudot[j] + teamim[k] + "'r'n");
            }
        }
    }
}

表达式

i + 1j + 1k + 1

不改变计数变量本身的值。他们只是评估,没有副作用。你需要说i+=1 j+=1 k+=1。否则,解释器如何知道将值赋给哪个变量呢?

而不是:

i+1
j+1
k+1

:

i++
j++
k++

或:

i=i+1
j=j+1
k=k+1