quizz
Version:
A Simple Quizz
49 lines (48 loc) • 1.05 kB
JavaScript
;
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;
}