Tu dois faire une boucle sur la lettre finale, je te fais un exemple à toi de l'adapter :
const stateFinalWord = "girouette" // Mot final
let stateCurrentWordV1 = "_________" // Valeur actuel de l'utilisateur
let userEntry = "e" // Il rentre la lettre "e"
/**
* V1:
* Renseigne toi sur les fonctions que j'ai utilisés ici, bien sur tu peux faire plus simple, c'est juste pour
* Te montrer. Je te fais une version 2 plus simple
*/
stateCurrentWordV1 = stateFinalWord.split('').reduce((accumulator, currentValue, index) => {
if (userEntry === currentValue) {
accumulator[index] = currentValue
return accumulator
} else {
return accumulator
}
}, stateCurrentWordV1.split('')).join('')
console.log("V1: " + stateCurrentWordV1)
/**
* V2:
*/
let stateCurrentWordV2 = "_________"
userEntry = "t"
stateCurrentWordV2 = stateCurrentWordV2.split('').map((value, index) => {
const finalLetter = stateFinalWord.split('')[index];
if (finalLetter === userEntry) {
return finalLetter
} else {
return value
}
}).join('')
console.log("V2: " + stateCurrentWordV2)
Tu dois faire une boucle sur la lettre finale, je te fais un exemple à toi de l'adapter :
const stateFinalWord = "girouette" // Mot final
let stateCurrentWordV1 = "_________" // Valeur actuel de l'utilisateur
let userEntry = "e" // Il rentre la lettre "e"
/**
* V1:
* Renseigne toi sur les fonctions que j'ai utilisés ici, bien sur tu peux faire plus simple, c'est juste pour
* Te montrer. Je te fais une version 2 plus simple
*/
stateCurrentWordV1 = stateFinalWord.split('').reduce((accumulator, currentValue, index) => {
if (userEntry === currentValue) {
accumulator[index] = currentValue
return accumulator
} else {
return accumulator
}
}, stateCurrentWordV1.split('')).join('')
console.log("V1: " + stateCurrentWordV1)
/**
* V2:
*/
let stateCurrentWordV2 = "_________"
userEntry = "t"
stateCurrentWordV2 = stateCurrentWordV2.split('').map((value, index) => {
const finalLetter = stateFinalWord.split('')[index];
if (finalLetter === userEntry) {
return finalLetter
} else {
return value
}
}).join('')
console.log("V2: " + stateCurrentWordV2)
Merci de ta réponse, je vais essayer de l'adapter.
Voici celui qui est fourni par le prof, quelqu'un sait m'expliquer son fonctionnement?
function computeDisplay(phrase, usedLetters) {
return phrase.replace(/\w/g,
(letter) => (usedLetters.has(letter) ? letter : '_')
)
}
Ton prof veux que tu utilise une regex, fait comme ça alors j'avoue que je suis une merde en regex... C'est pour ça que mon approche est plus "algorithmique". Cependant tu as besoin de plusieurs choses pour comprendre ce petit bout de code d'abord la fonction replace, ensuite la regex utilisé. Pour tester les regex tu peux regarder ici https://regex101.com/ dans ton cas tu peux tester comment "\w" réagit sur une chaîne de caractère. Essaie vraiment de bien comprendre. Si tu ne comprend pas je serais là ;)
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
► Rejoignez la communauté
► Rejoignez la communauté