Review - Silly story generator

Hello.
I completed the task with the creation of the Silly story generator.
I will be very grateful to you if you can point me to the mistakes that I could have made. Is it possible to make this code better?
Thank`s a lot.

const customName = document.getElementById('customname');

const randomize = document.querySelector('.randomize');

const story = document.querySelector('.story');

function randomValueFromArray(array){

  const random = Math.floor(Math.random()*array.length);

  return array[random];

}

var storyText = 'It was 94 fahrenheit outside, so :insertx: went for a walk. When they got to :inserty:, they stared in horror for a few moments, then :insertz:. Bob saw the whole thing, but was not surprised — :insertx: weighs 300 pounds, and it was a hot day.';

var insertX = ['Willy the Goblin', 'Big Daddy', 'Father Christmas'];

var insertY = ['the soup kitchen', 'Disneyland', 'the White House'];

var insertZ = ['spontaneously combusted', 'melted into a puddle on the sidewalk', 'turned into a slug and crawled away'];

randomize.addEventListener('click', result);

function result() {

    var newStory = storyText;

    xItem = randomValueFromArray(insertX);

    yItem = randomValueFromArray(insertY);

    zItem = randomValueFromArray(insertZ);

    

    for(var i = 0; i < 2; i++){

      newStory = newStory.replace(':insertx:', xItem);

    }

    newStory = newStory.replace(':inserty:', yItem);

    newStory = newStory.replace(':insertz:', zItem);

  if(customName.value !== '') {

    let name = customName.value;

    newStory = newStory.replace('Bob', name);

  }

  if(document.getElementById("uk").checked) {

    let weight = (Math.round(300 / 14) + ' stone');

    let temperature =  (Math.round((94 - 32) * 5 / 9) + ' centigrade');

    console.log(temperature)

    newStory = newStory.replace('94 fahrenheit', temperature);

    newStory = newStory.replace('300 pounds', weight);

  }

  story.textContent = newStory;

  story.style.visibility = 'visible';

}

Testedmdn

Hello @Taiga

you going great well done also check this one https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll maybe it help you :wink:

and have a nice day :slight_smile:

1 Like