Sha256: e3299d547b100f92c84a0e07ff8033dfc59dc0288d01bd751347fa735a7f887e

Contents?: true

Size: 873 Bytes

Versions: 118

Compression:

Stored size: 873 Bytes

Contents

var Diamond = function () {
  this.makeDiamond = function (input) {
    var inputIndex =  input.charCodeAt() - 65;
    var output = '';
    for (var i = 0; i <= inputIndex; i++) {
      output += getLine(inputIndex, i);
    }
    for (var j = inputIndex - 1; j >= 0; j--) {
      output += getLine(inputIndex, j);
    }
    return output;
  };

  var getLine = function (inputIndex, index) {
    var difference = inputIndex - index;
    return spaceTimes(difference) + printAlphabets(index) + spaceTimes(difference) + '\n';
  };

  var printAlphabets = function (index) {
    var character = 65 + index;
    if (index === 0) {
      return 'A';
    }

    return String.fromCharCode(character) + spaceTimes(((index - 1) * 2) + 1) + String.fromCharCode(character);
  };

  var spaceTimes = function (times) {
    return ' '.repeat(times);
  };
};

module.exports = Diamond;

Version data entries

118 entries across 118 versions & 1 rubygems

Version Path
trackler-2.2.1.159 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.158 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.157 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.156 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.155 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.154 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.153 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.152 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.151 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.150 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.149 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.148 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.147 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.146 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.145 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.144 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.143 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.142 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.141 tracks/javascript/exercises/diamond/example.js
trackler-2.2.1.140 tracks/javascript/exercises/diamond/example.js