-1

我想将星星从(最小到最大)反转到(最大到最小)

  function seethestars1() {
        for (var i = 0; i <= 10; i++) {
            for (var j = 0; j < i; j++) {
                document.getElementById("emptytext2").value += "*";
            }
            document.getElementById("emptytext2").value += "\n";
        }
    }

 <textarea id="emptytext2" name="S2">

 <input id="emptytext3" type="button" value="Click for the stars" onclick ="seethestars1()" />
4

4 回答 4

6

你可以像这样使用它

for (var i = 10; i >= 0; i--) 

但我不确定你为什么要这样做,因为你没有在循环中使用这个变量,所以我认为它不会对输出产生任何影响,因为你循环运行 10 次。

如果我能猜到,那么我认为您想以相反的数量顺序打印星星。这意味着你想在第一行有最多的星星,然后在第二行有-1,依此类推。如果是这样,那么你只需要像这样反转内循环的顺序

 function seethestars1() {
    var stars = document.getElementById("emptytext2");
    for (var i = 0; i <= 10; i++) {
        for (var j = 10; j > i; j--) {
            stars.value += "*";
        }                            
      stars.value += "\n";
    }
}

Js 小提琴演示

于 2013-11-11T10:43:17.853 回答
0

只需为 seethestarts1 方法尝试以下代码。

function seethestars1() {
        for (var i = 0; i <= 10; i++) {
            for (var j = i; j > 0; j--) {
                document.getElementById("emptytext2").value += "*";
            }
            document.getElementById("emptytext2").value += "\n";
        }
    }
于 2013-11-11T10:44:05.623 回答
0
function seethestars2() {
        for (var i = 10; i > 0; i--) {
            for (var j = 0; j < i; j++) {
                document.getElementById("emptytext2").value += "*";
            }
            document.getElementById("emptytext2").value += "\n";
        }
    }

这里发生的事情很简单;它不是从 1 星开始,而是从outer loopwith counter中的 10 星开始i。和inner loop以前一样。

于 2013-11-11T10:47:29.250 回答
0

以相反的顺序放置一个 for 循环。尝试以下操作:

function seethestars1() {
        for (var i = 0; i <= 10; i++) {
            for (var j = 10; j > i; j--) {
                document.getElementById("emptytext2").value += "*";
            }
            document.getElementById("emptytext2").value += "\n";
        }
}

这是演示:http: //jsfiddle.net/s5ztu/

于 2013-11-11T10:47:46.807 回答