JSFiddle - React, Tailwind, and code Playground
by Igor Cuckovic
JavaScript
function towerBuilder(nFloors, nBlockSz) {
var array = [];
var blockWidth = nBlockSz[0];
var blockHeight = nBlockSz[1];
var star = returnElements (blockWidth, "*");
var space = returnElements (blockWidth, " ");
var length = nFloors * 2 - 1;
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;
}
var currentSet = blockHeight;
function setFloor(floor, length) {
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) {
for (var g = 1; g <= blockHeight; g += 1) {
array.push(setFloor(i, length));
}
}
return array;
}
console.log(towerBuilder(3, [4, 2]))