Silly Story Generator Assessment Review

Please review my solution for the Silly Story Generator in the Js section.
Since i am a begineer in Js , kindly guide me what should i do after learning the syntax from MDN.

var customName = document.getElementById(‘customname’);
var randomize = document.querySelector(’.randomize’);
var story = document.querySelector(’.story’);

function randomValueFromArray(array){
return array[Math.floor(Math.random()*array.length)];
}

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;
var xItem = randomValueFromArray(insertX);
var yItem = randomValueFromArray(insertY);
var zItem = randomValueFromArray(insertZ);
newStory = newStory.replace(/:insertx:/g,xItem);
newStory = newStory.replace(/:inserty:/g,yItem);
newStory = newStory.replace(/:insertz:/g,zItem);

if(customName.value !== ‘’) {
var name = customName.value;
newStory = newStory.replace(/Bob/g,name);
}

if(document.getElementById(“uk”).checked) {
var weight = Math.round(300*0.0714286)+’ stone’;
var temperature = Math.round((94-32)/1.8)+" centigrade";
newStory = newStory.replace(‘94 fahrenheit’,temperature);
newStory = newStory.replace(‘300 pounds’,weight);

}

story.textContent = newStory;
story.style.visibility = ‘visible’;
}

Hi @tangri57,

Thanks for sending your code in! I have had a look, and your code works really well — the example functions as expected. Well done!

We have plenty more tutorials for you to work through when learning the basics of JavaScript, and associated web APIs.

After you’ve done that, it depends what you want to learn more about. If you are purely interested in front end web development, it probably makes sense for you to start learning some of the modern frameworks that a lot of web sites are built with these days — React, Vue, Angular, etc.

If you want to start learning server-side code too, you could start by working through our server-side beginner’s guides: https://developer.mozilla.org/en-US/docs/Learn/Server-side

1 Like

Hi @chrisdavidmills
Thank you for reviewing and further motivating me to continue my learning path . I plan to be a full stack web developer and currently i am on way on learning the front end part … i will surely consider your reccomendations regarding more tools like React, Vue, Angular etc and once i feel like yes i am done with some frontend then i will jump to back end part.

Have a good day :smiley: