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

Version Path
trackler-2.2.0.0 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.55 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.54 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.53 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.52 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.51 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.50 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.49 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.48 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.47 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.46 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.45 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.44 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.43 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.42 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.41 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.40 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.39 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.38 tracks/ecmascript/exercises/diamond/example.js
trackler-2.1.0.37 tracks/ecmascript/exercises/diamond/example.js