FP Exercise #1: Pseudo RNG by Date
Functional Paradigm applies:
- No side-effects
- No mutables
// FP Exercise #1: Deterministic Date.prototype based pseudo-rng
const add = (a,v) => a + v;
const toStrToArr = (integer) => integer.toString().split("");
const getNowArr = () => toStrToArr(Date.now());
function reduceToSingle(integer) {
const rand = integer.reduce(add);
const digitStr = toStrToArr(rand)[1];
return parseInt(digitStr);
}
function generate() {
return reduceToSingle(getNowArr().map(x => parseInt(x)));
}
console.log(generate());