您会使用哪个函数-Javascript

您会使用哪个函数-Javascript,javascript,coordinates,Javascript,Coordinates,我不熟悉javascript,我有以下代码: <p id="demo"></p> <script> var text = ""; var x = 1; var y = 1; while(x < 9) { text += "<br>" + x +"," + y; x++; } document.getElementById("demo").innerHTML = te

我不熟悉
javascript
,我有以下代码:

<p id="demo"></p>

<script>
    var text = "";
    var x = 1;
    var y = 1;
    while(x < 9) {
       text += "<br>" + x +"," + y;
       x++;
    }
    document.getElementById("demo").innerHTML = text;
</script>
问题是,一旦达到8,1,你会用什么让它继续:

1,2
2,2
3,2
4,2
5,2
6,2
7,2
8,2
然后 1,3 以此类推,直到达到3,4(这可能是可变的),然后停止


在一个理想的世界里,我可以让它上升到最大8,12

第二个值可以使用另一个while结构

var text=“”,
x,,
y=1;
(y这样写:

var text=”“,x,y;

对于(y=1;y可以嵌套循环。这里的最佳解决方案是对
循环使用两个嵌套的

let text='';

对于(让y=1;y,这里有一个有趣的解决方案。这不是我想做的,而是出于教育目的,所以请接受它

它在内部数组和外部数组上使用
Array.prototype.reduce
。内部数组在每次迭代中的累积结果被添加到外部数组的累加器中。内部reduce是添加所有实际数据的地方。外部reduce只会累积内部结果

它还使用了一些ECMAScript 2015功能,如扩展语法和箭头函数

str=[…数组(12)].reduce((s,i)=>
s+[…数组(8)].reduce((ss,uj)=>
ss+(j+1)+','+(i+1)+“\n”,”),
"");

console.log(str)
你可能需要第二个循环来封装另一个循环。想想看,这应该很容易想出。嵌套循环FTW!你应该把其中一个答案标记为有用的。为什么你要把它复杂化,而不是简单地使用
for
循环?@MichałMiszczyszyn,我为answ保留了while循环的精神呃。坏习惯的精神?不。while是个不错的选择。你可能不喜欢它,但它是一个运行良好的结构。@MichałMiszczyszyn,我有不同的观点。两者都有效,但op与while合作过。
1,2
2,2
3,2
4,2
5,2
6,2
7,2
8,2