JavaScript三角形代码?

时间:2017-07-26 19:57:35

标签: javascript frontend web-frontend

我对编程很新,所以这可能是一个我根本不知道的简单解决方案。我一直在尝试编写一个采用特定数字的代码,例如“10”,并返回一个金字塔,其中基数的星号数与您输入的值相匹配。我们应该在我们的代码中使用它:

function makeLine(length) {
  var line = "";
  for (var j = 1; j <= length; j++) {
    line += "* "
  }
  return line + "\n";
}

例如:

image of triangle where the base is matched by the number entered by the programmer

到目前为止我的代码看起来像这样。我知道这是完全错误的,因为我根本没有得到所需的结果。我做错了什么?

function makeLine(length) {
    var line = "";
    for (var j = 1; j <= length; j++) {
        line += "* ";
    }
    return line + "\n";
    function makeTriangle(length) {
        var line = "";
        for (var j = 1; j <= length; j--) {
            line += "* ";
        }
    } 
} 
console.log(makeTriangle(8));

3 个答案:

答案 0 :(得分:0)

您需要两个for循环:一个用于跟踪长度,另一个用于跟踪您当前所在的行。

function makeLine(length) {
  var line = "";
  for (var i = 1; i <= length; i++) {
    for (var j = 1; j <= i; j++) {
      line += "* "
    }
    line += "\n";
  }
  return line
}

答案 1 :(得分:0)

如果您在es2015上,请执行示例。

function makeLine(length) {
  return Array(length).fill('*').join('');
}

function makePyramid(height) {
  const result = [];
  for (let i = 0; i < height; i + 1) {
    result.push(`${makeLine(i + 1)}\n`);
  }
  return result.join('');
}

//*
//**
//***
//****
console.log(makePyramid(4));

答案 2 :(得分:0)

我在这个课程中遇到了这个问题并解决了这个问题:

&#13;
&#13;
this.started = setInterval(function(e){
      this.clockRunning();
}.bind(this), 10);
&#13;
&#13;
&#13;