首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JavaScript中打印雷电星型?

如何在JavaScript中打印雷电星型?
EN

Stack Overflow用户
提问于 2022-03-09 07:01:00
回答 2查看 82关注 0票数 0

我有一项任务要做雷电星型循环,如下所示:

代码语言:javascript
复制
*
 *
  *
   *
****
*
 *
  *
   *

我只能做到这一部分:

代码语言:javascript
复制
$n = 5;
for($i = 1; $i <= $n; $i++) {
 for($j = 1; $j <= $n; $j++) {
  if($i == $j) {
    document.write(" * ");
  } 
  else {
    document.write("&nbsp;&nbsp;&nbsp;");
  }
}
  document.write("<br/>");
}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-09 09:01:43

可以通过增加一个变量来实现模式的循环。

代码语言:javascript
复制
$n = 5;
$count = 1; // added for looping pattern
for($i = 0; $i <= $n; $i++) {
 for($j = 1; $j <= $i; $j++) {
  if($i == $j&& $i != $n ) {
    document.write(" * ");
  }if($i == $n && $j < $n && $count > 0){
   document.write(" * ");
  }else {
    document.write("&nbsp;&nbsp;&nbsp;");
  }
}
if($i == $n && $j == ($n + 1 ) && $count > 0)
  {
   $j=1;
   $i=0;
   $count--;
  }
  document.write("<br/>");
}

票数 0
EN

Stack Overflow用户

发布于 2022-03-09 07:55:47

代码语言:javascript
复制
const diagonalLine = (n) => {
  let line = '';

  for (let i = 0; i < n; i++) {
    for (let j = 0; j < i; j++) {
      line += ' ';
    }
    line += '*\n';
  }
  return line;
};
const line = (n) => {
  let line = '';

  for (let i = 0; i < n; i++) {
    line += '*';
  }
  return line;
};
const printPattern = n => `${diagonalLine(n)}${line(n)}${diagonalLine(n)}`;

console.log(printPattern(5));

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71405457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档