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))