JS | Random Text

by Zoltan Boros

HTML

Random stuff:
<pre id="out"></pre>

JavaScript

window.addEventListener('DOMContentLoaded', () => {
  
  const out = document.getElementById('out');
  const ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrstuvwxy';
  
  doTheJob();
  
  function doTheJob() {
  	for (var i = 0; i < 50; i++) {
    	//const value = getRandomWord(8, 10);
      //const label = getRandomWords();
    	//print(`{ label: '${label}', value: '${value}' },`);
      const field1 = getRandomWords(1, 2, 2, 8);
      const field2 = getRandomWords(1, 2, 2, 8);
      const field3 = getRandomWords(1, 2, 2, 8);
      print(`<tr><td>${field1}</td><td>${field2}</td><td>${field3}</td></tr>`);
    }
  }
  
  function print(text) {
    out.innerText += text + '\n';
  }
  
  function getRandomNumber(min, max) {
  	min = min || 0;
    max = max || 10;
    const diff = max - min + 1;
    return Math.trunc(Math.random() * diff) + min;
  }
  
  function getRandomCharacter() {
    const index = Math.trunc(Math.random() * ALPHABET.length);
    return ALPHABET[index];
  }
  
  function getRandomWord(minLength, maxLength) {
    minLength = minLength || 2;
    maxLength = maxLength || 12;
  	const len = getRandomNumber(minLength, maxLength);
    let word = '';
    for (var i = 0; i < len; i++) {
    	word += getRandomCharacter();
    }
    return word;
  }
  
  function getRandomWords(minCount, maxCount, minLength, maxLength) {
    minCount = minCount || 1;
    maxCount = maxCount || 8;
  	const count = getRandomNumber(minCount, maxCount);
    let words = [];
    for (var i = 0; i < count; i++) {
    	words.push(getRandomWord(minLength, maxLength));
    }
    return words.join(' ');
  }
});