Это происходит потому, что для ясности инструменты dev обрабатывают несколько вхождений одного и того же значения.
Вы можете использовать массив для достижения желаемого эффекта.Также обратите внимание, что мы изменили j<i
на j<=
, чтобы он выводил 5-е число.
Затем мы используем метод .join('')
, чтобы сгладить массив в строку.
Кроме того, поскольку мы ведем console.log на каждом цикле итерации , новая строка будет добавлена автоматически, так как это один лог на цикл .
var n = 5;
for (i = 0; i < n; i++) {
var arr = [];
for (j = 0; j <= i; j++) {
arr.push('*');
}
console.log(arr.join(''));
}
Обратите внимание, что вам не понадобится массив, если вы печатаете его в DOM - он будет работать так, как вы изначально предполагали.
Обновление: Ивар также сделал отличное решение, в котором используется функция String.repeat()
, которая требует от вас использования только одной петли.
var n = 5;
for (i = 1; i <= n; i++) {
var str = '*';
str = str.repeat(i);
console.log(str);
}