JSFiddle - React, Tailwind, and code Playground
by electronoob
HTML
data:
<textarea id=d>
Eu solum latine pro, ei sit probo nusquam assentior. Eu conceptam mediocritatem mel! An nam fastidii appellantur? Ei sit quot doctus. Vivendo pertinax similique eos ad, usu liber pertinacia et. Malorum mediocrem interpretaris ut pro, feugait tractatos vix an. Eu atqui primis mel, dissentias adversarium mei cu!
Quod invidunt complectitur has ex, rebum modus liber est at! Velit paulo cu usu, ad veniam eruditi invenire sed. Id eum probo vocibus, mei ne dictas perfecto? Vim eu nostrum nominati, pro et putant scripta eripuit, eam ex soluta scriptorem signiferumque. Te ipsum nostrud principes mea, brute nusquam temporibus nam ea. Mel te deleniti postulant, te eos veri saepe malorum.
Omnes deseruisse sea ei, omnium ocurreret definitiones ea qui! Impetus disputando eu has? Inani harum laboramus in cum! An mel tota definiebas? Quando omnesque dignissim his at.
Eu sea tollit sanctus, at quo amet veniam omnium. Ei vis porro dissentiunt, id dolores lobortis sententiae vel, possit probatus laboramus at nec. Nam admodum petentium qualisque no, vix te eius commune sapientem. Sit erat accumsan laboramus ex. Nullam suavitate eu nec, commodo repudiare forensibus usu et, fabulas facilis in qui. Vim corpora probatus torquatos ad, impetus tibique philosophia te his.
Habeo minim eripuit id mea? No accusam iracundia mea. Nec virtute expetenda persecuti ad, te duis dolorem reprimique sit. Alii illum minim at quo, ubique tibique ullamcorper cum id, id pro numquam consequat.
Feugiat intellegebat ea eum, cu vis veniam insolens assueverit? Odio eruditi et vis, putant appareat instructior eu pro. Menandri petentium qualisque ad nam. Cum in fabulas maluisset theophrastus, id his malorum alienum noluisse. Usu audire suavitate neglegentur cu.
Cu eam omnium fabulas, malorum voluptaria nec ea. Veniam aperiam repudiandae ex vix? Ea pro quando dolorum accusam, augue aliquid rationibus at ius. Ei mea diam soluta nostrum, eu primis molestie consetetur est, usu brute...
JavaScript
//compression 1
var i;
var f = [];
var d_len = d.value.length;
var length;
s.innerHTML = d_len + ' bytes input';
var in_dictionary = function (chunk,len) {
if(typeof f[len][chunk] === 'undefined') {
return false;
}
return true;
}
var addEntry_dictionary = function (chunk,len) {
f[len][chunk] = 1;
}
var incEntry_dictionary = function (chunk,len) {
f[len][chunk] += 1;
}
for(length = 0; length<20; length++) {
f[length] = [];
for (i=0; i<(d_len - length); i++) {
chunk = String(d.value).substr(i,1 + length);
if (in_dictionary(chunk,length)) {
incEntry_dictionary(chunk,length);
} else {
addEntry_dictionary(chunk,length);
}
}
}
var total = [];
for(length = 0; length<20; length++) {
total[length] = 0;
keys = Object.keys(f[length]);
keys.forEach(function (chunk, index, arr) {
tmp = chunk.length;
total[length] = total[length] + tmp;
});
}