我正在尝试创建一个小工具,我可以在三个列表中创建组合。每个组合由一个辅音,一个niqqudot和一个teamim组成。我认为它可以通过简单的嵌套循环来解决,但是“document.write”行导致无限循环并且它似乎没有增加。第一个组合反复重复,但它永远不会进入下一个组合。如果有人可以查看代码并了解原因,我将不胜感激。谢谢!
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");
}
}
}
}
答案 0 :(得分:2)
而不是:
i+1
j+1
k+1
做的:
i++
j++
k++
或:
i=i+1
j=j+1
k=k+1
答案 1 :(得分:2)
表达式
i + 1的 J + 1 K + 1
不要改变计数变量本身的值。他们只是评估,没有副作用。你需要说i + = 1,j + = 1,k + = 1。否则,解释器将如何知道将值赋给哪个变量?