UNPKG

quizz

Version:
49 lines (48 loc) 1.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // Values from http://www.nymphomath.ch/crypto/stat/francais.html var LETTERS_FREQUENCIES = { A: 8.41, B: 1.06, C: 3.03, D: 4.18, E: 17.27, F: 1.12, G: 1.27, H: 0.92, I: 7.34, J: 0.31, K: 0.05, L: 6.01, M: 2.96, N: 7.13, O: 5.26, P: 3.01, Q: 0.99, R: 6.55, S: 8.09, T: 7.07, U: 5.74, V: 1.32, W: 0.04, X: 0.45, Y: 0.30, Z: 0.12, }; var SET = buildFrequenciesSet(LETTERS_FREQUENCIES); function default_1() { var random = Math.random() * 100; return SET.find(function (item) { return random < item[1]; })[0]; } exports.default = default_1; function buildFrequenciesSet(frequencies) { var acc = 0; var set = []; Object.keys(frequencies).forEach(function (letter) { var freq = frequencies[letter]; set.push([letter, acc = acc + freq]); }); if (set[set.length - 1][1] !== 100) throw 'Set is not normalized!'; return set; }