【问题标题】:How to make a triangle using for loop javascript如何使用for循环javascript制作三角形
【发布时间】:2016-10-27 20:07:45
【问题描述】:

我有一个简单的问题,虽然我无法解决这个问题。希望你能帮忙。我需要使用 for 循环制作三角形,从这 4 个练习中我不知道如何处理第三个练习。我以前没有使用过 Javascript,因此将不胜感激。

 # # # # #
   # # # #
     # # #     <----- here is triangle i need to make. Just in case 
       # #
         #

var i;
var j;
for (i = 0; i <= 5; i++ )
{
document.write("</br>");
for ( j = 0; j < 6-i; j++ )
{
document.write( "&nbsp&nbsp" );
}
for ( j = 6-i; j <= 5; j++ )
{

document.write( "*" );
}
}

这是我为照片中的 D 编写的代码。 很抱歉我一开始没有添加它。

【问题讨论】:

标签: javascript for-loop triangle-count


【解决方案1】:
for (let line = "*"; line.length < 8; line += "*")
  console.log(line);

本书中有这个问题:http://eloquentjavascript.net

我不知道为什么 google 上有这么糟糕的答案。

【讨论】:

    【解决方案2】:
    function leftTriangle(rows){
      let result = '';
      for(let i=rows;i>0;i--){
        if(i===rows) {
          result += '*'.repeat(i) + '\n';
        }else{
          let empty = rows-i
          result+= ' '.repeat(empty) + '*'.repeat(i)+ '\n'
        }
      }
      return result;
    }
    
    console.log(leftTriangle(5))
    

    【讨论】:

      【解决方案3】:

      我确信有更好的解决方案(我想到的只是用空格左填充),但这是我从您自己的解决方案中创建的快速而肮脏的解决方案。

        for (var i = 0; i < 5; i++) {
          for (var j = 0; j < i; j++) {
            document.write("&nbsp;&nbsp;&nbsp;");
          }
          for (var j = 5; j > i; j--) {
            document.write("#");
            if (j > i + 1) document.write("&nbsp;");
          }
          document.write('<br/>')
        }
      

      https://js.do/code/diamondsinthesky

      【讨论】:

      • YES))) 我认为您的解决方案比我的要好得多。非常感谢。
      【解决方案4】:

      这样的?

      var rows = 5;
      for (var i = rows; i--;) {
        var columns = 0;
        while (columns <= i) {
          document.write('#');
          columns++
        }
        document.write('<br />\n');
      }

      【讨论】:

      • 感谢您的回复。不幸的是,它没有帮助,因为它给出了我已经制作的三角形。上图中的三角形 B。
      【解决方案5】:

      感谢您的帮助。我做到了。这太明显了,但不知何故我找不到它。多谢一次。这是我的做法。

       for (i = 5; i > 0; i--) {
               document.write("</br>");
              for (j = 0; j < 6 - i; j++) {
                  document.write("&nbsp&nbsp");
              }
              for (j = 6 - i; j <= 5; j++) {
      
                  document.write("*");
              }
          }

      【讨论】:

        【解决方案6】:

        var rows = 5;
        for (var i = rows; i--;) {
          var columns = 0;
          while (columns <= i) {
            document.write('#');
            columns++
          }
          document.write('<br />\n');
        }

        【讨论】:

        • 从问题中生成三角形 (A),而不是三角形 (C)​​,这正是 OP 正在寻求帮助的三角形
        【解决方案7】:

        如果您正在寻找不同的东西,您也可以这样做。 此代码适用于 7 行三角形。

        let size = 8;
        let y = "#";
        for (let x = 0; x < size; x++)
        {
          console.log(y);
          y += "#";
        }
        
        // Second method
        
        for (let i = 1; i < size;i++)
        {
          let me ="#".repeat(`${i}`)
          console.log(me);
          
        }

        【讨论】:

        • 看来你没有解决这个问题......海报问如何产生第三个结果,而不是第一个或第二个。
        • 如果您有新问题,请点击 按钮提出问题。如果有助于提供上下文,请包含指向此问题的链接。 - From Review
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-31
        • 1970-01-01
        • 2022-01-04
        • 1970-01-01
        • 1970-01-01
        • 2012-07-09
        相关资源
        最近更新 更多