The question is published on by Tutorial Guruji team.
i am trying to replace the letters i get from the word with underscores but if there is any spaces in that word i do not want to replace it. im not sure how to do it. the current code i am using is this answerArray = [] function randomWord() {
for (let i = 0; i < word.length; i++) { answerArray[i] = "_" answer.innerHTML = answerArray.join(" ") } }
i’ve tried to look around in stackoverflow with my question but no one has it. someones suggested this
word.replace(/w/gi, '_')
but it isnt working as i want.
You can check out the code here https://codepen.io/NoNameYet04/pen/OJxKYeV i have for the test change the word in “programming language” to “test test” so you can test it out
Answer
I did a quick example below. With problems like this it’s always better to try to break it down into small logical steps.
Go through each character
If it’s a space then leave it
If it’s not then replace with an _
function randomWord(word) { let ret = ""; // return string for (let i = 0; i < word.length; i++) { // go through each character if(word[i] !== " "){ // if it's not a space then replace it ret += "_"; } else if (word[i] === " "){ // if it's a space then we add to the return string ret += " "; } } return ret; //return or answer.innerHTML = ret;
}
Call using: randomWord(“hello there”);