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.139 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.138 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.137 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.136 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.135 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.134 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.133 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.132 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.131 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.130 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.129 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.128 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.127 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.126 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.125 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.124 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.123 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.122 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.121 tracks/javascript/exercises/octal/example.js
trackler-2.2.1.120 tracks/javascript/exercises/octal/example.js