При помощи вложенных циклов на js нарисовать счетчик цифр
вот такая задачка, постарался выложить максимально понятно со своим вариантом ответа, но как сделать чтобы ответ был согласно условию задачи ни как не могу сообразить, подскажите пожалуйста начинающему,благодарю за помощь.
let out08 = document.querySelector('.out_08');
let button08 = document.querySelector('.b_08');
button08.onclick = () => {
out08.innerHTML = '';
for (let i = 1; i <= 5; i++) {
out08.innerHTML += '<br>';
for (let k = 1; k <= i; k++) {
out08.innerHTML += k + ' ';
}
}
}
<section>
<p>task-08</p>
<p>
С помощью вложенных циклов нарисуйте, цифры - из счетчиков цикла:
<pre>
1<br>
2 1<br>
3 2 1<br>
4 3 2 1<br>
5 4 3 2 1
</pre>
</p>
<div class="out_08"></div>
<button class="button-primary b_08">task-08</button>
</section>
Ответы (2 шт):
Автор решения: ReDHooK
→ Ссылка
Можно вот так. Тут мы сначала создаём результат и записываем в переменную, а потом выводим в html. Только не забудь выводить результат в тег pre, чтобы сохранить пробелы
let result = ""
const max = 5
for (let i = 1; i <= max; i++) {
line = ""
for (let k = i; k >= 1; k--) {
line += k
}
result += " ".repeat(max - i) + line + "</br>"
}
const pre = document.querySelector("#pre")
pre.innerHTML = result
Если нужно выводить именно в цикле, то так
const pre = document.querySelector("#pre")
const max = 5
for (let i = 1; i <= max; i++) {
let line = ""
for (let k = i; k >= 1; k--) {
line += k
}
pre.innerHTML += " ".repeat(max - i) + line + "</br>"
}
Автор решения: Nowhere Man
→ Ссылка
- Установите шрифт
monospace - Добавьте двойной перенос строки.
- Добавьте цикл для форматирования вывода при помощи неразрывных пробелов (по убыванию)
- Выводите цифры также по убыванию от i до 0
let out08 = document.querySelector('.out_08');
let button08 = document.querySelector('.b_08');
button08.onclick = () => {
out08.style.fontFamily = 'monospace';
out08.innerHTML = '<pre>\n';
for (let i = 1; i <= 5; i++) {
out08.innerHTML += '<br/>\n<br/>\n';
for (let k = 5 - i; k > 0; k--) {
out08.innerHTML += ' ';
}
for (let k = i; k > 0; k--) {
out08.innerHTML += ' ' + k;
}
}
out08.innerHTML += '</pre>';
}
<section>
<p>task-08</p>
<p>
С помощью вложенных циклов нарисуйте, цифры - из счетчиков цикла:
<pre>
1<br>
2 1<br>
3 2 1<br>
4 3 2 1<br>
5 4 3 2 1
</pre>
</p>
<div class="out_08"></div>
<button class="button-primary b_08">task-08</button>
</section>