Sha256: 66e29d170911411ef15dfaddb9f172f09b0c80e526adb94abbbf756d82ac7e4a

Contents?: true

Size: 533 Bytes

Versions: 255

Compression:

Stored size: 533 Bytes

Contents

'use strict';

var BASE = 8;

function Octal(octal) {
  this.digits = octal.split('').reverse().map(this.digitValue);
}

Octal.prototype.toDecimal = function() {
  var decimal = this.digits.reduce(this.accumulator, 0);
  return isNaN(decimal) ? 0 : decimal;
};

Octal.prototype.digitValue = function(value) {
  var result = Number(value);
  return (result < BASE)? result : Number.NaN;
};

Octal.prototype.accumulator = function(decimal, digit, index) {
  return decimal += digit * Math.pow(BASE, index);
};

module.exports = Octal;

Version data entries

255 entries across 255 versions & 1 rubygems

Version Path
trackler-2.1.0.40 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.39 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.38 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.37 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.36 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.34 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.33 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.32 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.31 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.30 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.29 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.28 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.27 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.26 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.25 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.24 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.23 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.22 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.21 tracks/javascript/exercises/octal/example.js
trackler-2.1.0.20 tracks/javascript/exercises/octal/example.js