Sha256: aa43803cbed56654257cd610b959116195c1db26cb17688bfad9fd3c09846054

Contents?: true

Size: 536 Bytes

Versions: 104

Compression:

Stored size: 536 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

104 entries across 104 versions & 1 rubygems

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