Sha256: 14d3b3b47cb0acb27eff726b7191fd7d72e2043f638b24e4e93d184afe5f8a7a
Contents?: true
Size: 791 Bytes
Versions: 30
Compression:
Stored size: 791 Bytes
Contents
export default class Diamond { makeDiamond(input) { const inputIndex = input.charCodeAt() - 65; var output = ""; var 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) { var difference = inputIndex - index; return spaceTimes(difference) + printAlphabets(index) + spaceTimes(difference) + "\n"; } function printAlphabets(index) { var character = 65 + index; if(index === 0){ return "A"; } else { return String.fromCharCode(character) + spaceTimes((index - 1) * 2 + 1) + String.fromCharCode(character); } } function spaceTimes(times) { return " ".repeat(times); }
Version data entries
30 entries across 30 versions & 1 rubygems