Sha256: 2c48c9da0647d5ef823fdc3136e3cb57411a14319b65a05087e915ad11c4c113

Contents?: true

Size: 475 Bytes

Versions: 185

Compression:

Stored size: 475 Bytes

Contents

class Triangle {
  constructor(rows) {
    this.rows = this.fillRows(rows);
    this.lastRow = this.rows[this.rows.length - 1];
  }

  sumElements(element, index, array) {
    this.push(element + (array[index + 1] || 0));
  }

  fillRows(rows) {
    const result = [[1]];
    for (let x = 1; x < rows; x++) {
      const newRow = [1];
      result[x - 1].forEach(this.sumElements, newRow);
      result.push(newRow);
    }
    return result;
  }
}

export default Triangle;

Version data entries

185 entries across 185 versions & 1 rubygems

Version Path
trackler-2.2.0.5 tracks/ecmascript/exercises/pascals-triangle/example.js
trackler-2.2.0.4 tracks/ecmascript/exercises/pascals-triangle/example.js
trackler-2.2.0.3 tracks/ecmascript/exercises/pascals-triangle/example.js
trackler-2.2.0.2 tracks/ecmascript/exercises/pascals-triangle/example.js
trackler-2.2.0.1 tracks/ecmascript/exercises/pascals-triangle/example.js