【问题标题】:How to make a shape using for loop javascript如何使用for循环javascript制作形状
【发布时间】:2020-02-28 10:30:59
【问题描述】:

我遇到了我所面临的问题。

我尝试过的代码:

function printImage(oddnumbers) {
    for (var i = 0; i < oddnumbers; i++) {
        var tmp = ''
        for (var j = 0; j < oddnumbers; j++) {
            if (i % 2 === 0) {
                tmp += 'x';
            } else {
                tmp += '=';
            }
        }
        console.log(tmp);
    }
}

printImage(5)

这是结果

xxxxx
=====
xxxxx
=====
xxxxx

我有这样的问题:

制作如下函数来打印图像,其参数为 图像的长度或宽度。参数必须是奇数。 注意:必须使用循环,不要硬编码/直接写

当我运行printImage(5)

x===x
=x=x=
==x==
=x=x=
x===x

当我运行printImage(7)

x=====x
=x===x=
==x=x==
===x===
==x=x==
=x===x=
x=====x

请帮我解决这个问题

【问题讨论】:

  • 你应该好好看看在哪里使用哪个循环索引。
  • 感谢您的建议,但我还是个初学者,需要预告片才能做到这一点,我会从预告片中学习。

标签: javascript for-loop nested-loops shapes


【解决方案1】:

你需要沿对角线打印xs,可以通过在制作行时检查来完成:如果行索引(j)与列索引(i)相同,打印x(因为你在左上角到右下角的对角线),如果行索引等于length - 1 - i,你在另一个对角线上。否则,打印=:

function printImage(length) {
  for (var i = 0; i < length; i++) {
    // Construct a row
    var tmp = ''
    for (var j = 0; j < length; j++) {
      tmp += (j === i || j === (length - 1 - i))
        ? 'x'
        : '=';
    }
    console.log(tmp);
  }
}

printImage(7)

【讨论】:

  • 非常感谢兄弟,这段代码我会看懂的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 2013-02-19
  • 1970-01-01
  • 1970-01-01
  • 2013-01-02
  • 1970-01-01
  • 2021-05-23
相关资源
最近更新 更多