Sha256: 5936b33c6c73e91628a0d406d8e377c14421bb37d192288000b73ab03b07b9dc
Contents?: true
Size: 787 Bytes
Versions: 185
Compression:
Stored size: 787 Bytes
Contents
export default class Diamond { makeDiamond(input) { const inputIndex = input.charCodeAt() - 65; let output = ''; let i = 0; for (i = 0; i <= inputIndex; i++) { output += getLine(inputIndex, i); } for (i = inputIndex - 1; i >= 0; i--) { output += getLine(inputIndex, i); } return output; } } function getLine(inputIndex, index) { const difference = inputIndex - index; return `${spaceTimes(difference) + printAlphabets(index) + spaceTimes(difference)}\n`; } function printAlphabets(index) { const character = 65 + index; if (index === 0) { return 'A'; } return String.fromCharCode(character) + spaceTimes((index - 1) * 2 + 1) + String.fromCharCode(character); } function spaceTimes(times) { return ' '.repeat(times); }
Version data entries
185 entries across 185 versions & 1 rubygems