Escribí una función que pone "-" en la lista dada al azar. solo por privacidad y para hacerlo más fácil, uso una lista simple aquí. Pero la salida no es mi respuesta preferida.
ejemplo: si ingreso "disco duro" ... la salida debe ser ha-dd-sk o -a-dd-sk o algo más
su ayuda sería mi apreciación.
const words = ['harddisk', 'laptop']; let count, i = 0; let wordsLength = words[i].length; let splitted = words[i].split(''); let incompleteWords = ''; function convertToIncomplete(words) { while (count < words[i].length / 2) { let incompleteWords = Math.floor(Math.random() * wordsLength); //create new index return incompleteWords; } } let Words = prompt("enter your word : "); //alert(convertToIncomplete(Words)); console.log(convertToIncomplete(Words));esta función simplemente pone "-" al azar en una palabra definida en la lista dada
Prueba este código:
function convertToIncomplete(word){ const numberOfDashes = Math.floor(Math.random()*(word.length)); const places = []; while(places.length < numberOfDashes){ const current = Math.floor(Math.random()*(word.length)); if(places.includes(current)) continue; places.push(current); } let newWord = word; for(let i=0;i<places.length;i++){ newWord = newWord.substring(0, places[i])+'-'+newWord.substring(places[i]+1); } return newWord; } let Words = prompt("enter your word : "); //alert(convertToIncomplete(Words)); console.log(convertToIncomplete(Words));