JSFiddle - React, Tailwind, and code Playground
by Jussia
JavaScript
function diamond(n) {
var diamArray = [];
var diam = '';
var space = Math.floor(n/2);
if (n % 2 !== 0 && n > 0) {
for (var i = 0; i <= n; i++) {
if (i == 1) {
diamArray.push(' '.repeat(space) + '*\n')
} else if (i % 2 !== 0) {
space = space > 1 ? space - 1 : 0
var sctxString = ' '.repeat(space) + '*'.repeat(i) + '\n';
diamArray.push(sctxString)
}
if (i == n) {
space = 0
for (var j = n - 1; j >= 0; j--) {
if (j == 1) {
diamArray.push(' '.repeat(space) + ' *\n')
} else if (j % 2 !== 0) {
console.log('space', space, 'j', j)
space = space < Math.floor(n/2) ? space + 1 : Math.floor(n/2)
var sctxString = ' '.repeat(space) + '*'.repeat(j) + '\n';
diamArray.push(sctxString)
}
}
}
}
diam = diamArray.join("")
} else {
diam = null
}
return diam;
}
console.log(diamond(13))