JSFiddle - React, Tailwind, and code Playground
by fillano
HTML
<button id="test">
test
</button>
<div id="panel">
</div>
JavaScript
$(function() {
const a = getAnswer();
$('#test').on('click', e => {
let str = JSON.stringify(a.next().value);
let panel = $('#panel');
panel.html(panel.html() + str + '<br>');
});
});
function getRandom(x) {
if(x < 1) return 0;
return Math.round(Math.random() * Number.MAX_SAFE_INTEGER) % x;
}
function getRandomArray(size, sample) {
let a = Array.from(Array(sample).keys());
let ret = [];
for(let i=0; i<size; i++) {
let idx = getRandom(a.length - 1);
ret.push(a.splice(idx, 1)[0]);
}
ret.sort();
return ret;
}
function* getAnswer() {
while(true) {
let check = [];
let answer = getRandomArray(8, 32);
for (let i = 0; i < answer.length; i++) {
check.push(answer[i] - answer[i + 1]);
}
if (check.find((el) => el <= -6)) {
console.log('result abandoned.');
} else {
yield(check)
}
}
}