вложенные циклы на js
вот такая задача мне попалась, решил я её как смог, подскажите более лучшее решение этой задачи и если можно немного с пояснением к решению, благодарю.
let out_12 = document.querySelector('.out_12');
let button12 = document.querySelector('.b_12');
button12.onclick = () => {
for(let i = 5; i <= 5; i++){
out_12.innerHTML += ` ***** <br>`;
}
for(let k = 7; k <= 7; k++){
out_12.innerHTML += ` ******* <br>`;
}
for(let k = 9; k <= 9; k++){
out_12.innerHTML += ` *********`;
}
}
<section>
<p>
С помощью вложенных циклов и символа * нарисуйте:
<pre>
*****<br>
*******<br>
*********
</pre>
</p>
<div class="out_12"></div>
<button class="button-primary b_12">task-12</button>
</section>
Ответы (1 шт):
Автор решения: Elmir
→ Ссылка
Эта задачка направлена на то, что бы образовалось хорошее понимание того, как работают вложенные циклы. В примере, внутри цикла, мы видим ещё 2 цикла. Результат записываем в переменную result. Первый цикл с j, добавляет пробел, второй цикл c j нужное количество звездочек, Потом перенос строки, и повтор. На ютубе если поискать star pyramid, можете найти множество примеров на различных языках с пояснениями.
const lines = 5;
let result = '';
for (let i = 0; i <= lines; i++) {
for (let j = 0; j < lines - i; j++) {
result += " ";
}
for (let j = 0; j < 2 * i + 1; j++) {
result += "*";
}
result += "\n";
}
console.log(result)
// *
// ***
// *****
// *******
// *********
//***********