JSFiddle - React, Tailwind, and code Playground

by Igor Cuckovic

JavaScript

function towerBuilder(nFloors) {
  var star = "*";
  var space = " ";
  var length = nFloors * 2 - 1;
  var array = [];
  
  function returnElements (n, element) {
    if (n === 0) {
      return "";
    }
    
    if (n === 1) {
      return element;
    }
  
    var total = "";
    for (var j = 1; j <= n; j += 1) {
      total += element;
    }
    
    return total;
  } 
  
  function setFloor(floor, length) {
    var floorContent = "";
    var starNum = floor * 2 - 1; 
    var spaces = length - starNum;
    return returnElements(spaces/2, space) + returnElements(starNum, star) + returnElements(spaces/2, space);
  }
  
  for (var i = 1; i <= nFloors; i += 1) {
    array.push(setFloor(i, length));
  }
  
  return array;
}

console.log(towerBuilder(5))