¡Es hora de poner la navidad en casa!
¡Es hora de poner el árbol de navidad en casa! 🎄
Para ello vamos a crear una función que recibe la altura del árbol, que será un entero positivo del 1 a, como máximo, 100.
Si le pasamos el argumento 5, se pintaría esto:
____*____
___***___
__*****__
_*******_
*********
____#____
____#____
Creamos un triángulo de asteríscos *
con la altura proporcionada y, a los lados, usamos el guión bajo _ para los espacios. Es muy importante que nuestro árbol siempre tenga la misma longitud por cada lado.
Todos los árboles, por pequeños o grandes que sean, tienen un tronco de dos líneas de #
.
Otro ejemplo con un árbol de altura 3:
__*__
_***_
*****
__#__
__#__
Ten en cuenta que el árbol es un string y necesitas los saltos de línea \n
para cada línea para que se forme bien el árbol.
Completa el reto!
Mi solución:
Puedes seguir a @midudev y estar pendiente de los retos de Advent.js
Top comments (2)
function createTree(number){
let tree = '';
let counter = 1;
const objTree = {
background : '_',
branch : '*',
trunk : '#',
}
const {background, branch, trunk} = objTree;
const data = Array.from(Array(number).keys()).reverse();
tree += file(trunk, background, data.length -1 , 1);
tree += file(trunk, background, data.length -1, 1);
return tree
}
function file(branch, background, number, counter){
return
${background.repeat(number)}${branch.repeat(counter)}${background.repeat(number)}\n
}
console.log(createTree(10))