如何使用for循环javascript制作形状

问题描述 投票:1回答:1

我陷入了所面临的问题。

我尝试过的代码:

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个回答
1
投票
您需要沿对角线打印x,这可以通过在制作行时进行检查来完成:如果行索引(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)
© www.soinside.com 2019 - 2024. All rights reserved.