Estoy tratando de imprimir un triángulo en ángulo recto al revés usando un bucle for, sin el "\ n" en Javascript. Este es mi código:
function triangle(num) { triangleStr = ""; for (let i = num; i > 0; i--) { triangleStr += "#"; console.log(triangleStr); } } triangle(5);1) Puede crear un triángulo en ángulo recto invertido como:
triangleStr = Array(i).fill("#").join(""); function triangle(num) { triangleStr = ""; for (let i = num; i > 0; i--) { triangleStr = Array(i).fill("#").join(""); console.log(triangleStr); } } triangle(5);2) También puede lograr el resultado usando recursividad como:
function triangle(num) { if (num === 0) return; console.log(Array(num).fill("#").join("")); triangle(num - 1); } triangle(5);3) Solo usando recursividad
function triangle(start, end) { if (start > end) return; triangle(start + 1, end); console.log(Array(start).fill("#").join("")); } triangle(1, 5); Editado: gracias a TAHERElMehdi que sugirió esta solución usando repeat como:
Puedes reemplazar todo lo anterior
Array(i).fill("#").join("");con
"#".repeat(i)Su código está bien, simplemente deshágase de triangleStr y reemplácelo dentro for-loop con el método repeat .
function triangle(num) { for (let i = num; i > 0; i--) { console.log("#".repeat(i)); } } triangle(5);Resultado
##### #### ### ## #