Как сделать треугольник, используя для цикла JavaScript

У меня простой вопрос, хотя я не могу решить эту проблему. Надеюсь, вы можете помочь. Мне нужно сделать треугольник, используя цикл, и из этих 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 на фото. И мне жаль, что я не добавил его сначала.

9 ответов

Решение

Я уверен, что есть лучшие решения (на ум приходит просто заполнение пробелами слева), но вот быстрое и грязное, которое я создал из вашего собственного решения.

  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

for (let line = "*"; line.length < 8; line += "*")
  console.log(line);

этот вопрос возник в этой книге: http://eloquentjavascript.net/

Я не знаю, почему есть такие плохие ответы на Google для этого.

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))

Что-то вроде этого?

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

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

Спасибо за помощь. Я это сделал. Это было слишком очевидно, но почему-то я не мог его найти. Спасибо еще раз. Вот как я это сделал.

 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("*");
        }
    }

for (let line = "#"; line.length < 8; line += "#"){
  
  document.writeln(line + "</br>");
}

Вы также можете сделать это, если вы ищете что-то другое. Этот код предназначен для треугольника из 7 линий.

Другие вопросы по тегам