Sha256: ebe21a20268dbaa8b83b71f733a1fdc31994c4b5b7a7493d793a16ff04ceb793

Contents?: true

Size: 594 Bytes

Versions: 141

Compression:

Stored size: 594 Bytes

Contents

'use strict';

function isMultiple(i) {
  /* jshint validthis:true */
  var result = false;
  this.multiples.forEach(function (multiple) {
    if (i % multiple === 0) {
      result = true;
    }
  });
  return result;
}

function SumOfMultiples(multiples) {
  if (!(this instanceof SumOfMultiples)) {
    return new SumOfMultiples(multiples);
  }
  this.multiples = multiples;
}

SumOfMultiples.prototype.to = function (limit) {
  var sum = 0;
  for (var i = 1; i < limit; i++) {
    if (isMultiple.call(this, i)) {
      sum += i;
    }
  }
  return sum;
};

module.exports = SumOfMultiples;

Version data entries

141 entries across 141 versions & 1 rubygems

Version Path
trackler-2.2.1.38 tracks/javascript/exercises/sum-of-multiples/example.js