DEV Community

Discussion on: Daily Challenge #2 - String Diamond

Collapse
 
bernstein7z profile image
Alan Bernstein

JS

const diamond = (astericks = 0) => {
    try {
        if (astericks % 2 === 0 || astericks < 0) {return null;} 
        else {
            if (astericks === 1) {console.log("*")}
            else {
                let array = [];
                for (let i = 1, j = 0; i<=astericks; i += 2, j++) {
                    let count = Math.floor(astericks / 2) - 1 - j;
                    if (count >= 0) {
                        array.push(" ".repeat(count) + "*".repeat(i));
                    }
                }

                let temp = [...array];
                array.pop();
                let arrayHelper = [...temp, ...array.reverse()];

                for (let i = 0; i <arrayHelper.length; i++) {
                    console.log(arrayHelper[i]);
                }
            }
        }
    } catch (e) {
        console.log(e);
    }
}