Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

122
Vistas
Aleatorice palabras en una oración / cadena con Javascript y enumere todas las variaciones

He buscado mucho pero no he encontrado exactamente lo que estoy tratando de hacer. Pero aquí va:

Quiero ingresar una oración / cadena en javascript y generar todas las variaciones aleatorias de esa oración.

Ejemplo de entrada: 'mi oración de prueba 123' salida: 'prueba mi oración 123', 'mi oración 123 prueba', '123 oración mi prueba', y así sucesivamente, y se detiene cuando no quedan variaciones.

Dividí la oración en palabras en una matriz, pero estoy un poco atascado sobre cómo proceder para aleatorizar las palabras y unirlas a nuevas oraciones en una lista o nueva matriz.

código hasta ahora:

 let str = "my test sentence 123"; let words = str.split(" "); for (let i = 0; i < words.length - 1; i++) { words[i] += " "; }

Un poco atascado en cómo proceder. Mi proceso de pensamiento es: tengo las palabras variable / matriz, pero necesito aleatorizar cada palabra, generar nuevas cadenas pero también verificar las existentes para no duplicar ninguna de ellas.

Gracias por toda la ayuda que pueda obtener para aprender más :)

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Verifique este código

 var phrase = "my test sentence 123"; var words = phrase.toLowerCase().match(/\w+/g); var wordsCopy = phrase.toLowerCase().match(/\w+/g); // First of all I loop each word words.forEach(function(word, index){ // Random word going to contain my randomized word var randomWord = word; // Copy the entire phrase var wordsMissing = wordsCopy.slice(); // Remove the current word wordsMissing.splice(wordsCopy.indexOf(word), 1); // Loop tru my missing words for (var i = 0; i < wordsMissing.length; i++) { // Set my random word with the rest of the words randomWord += " " + wordsMissing.join(" "); // get the first word and send to the final of my original phrase var firstWord = wordsMissing.splice(0,1)[0]; wordsMissing.push(firstWord); // Log my random word console.log(randomWord); // Reset random word to the initial word randomWord = word; } });
about 4 years ago · Juan Pablo Isaza Denunciar

0

Como está en Javascript, usar .join(' ') será más fácil para crear una cadena a partir de una matriz.

Luego, hay muchas soluciones para lograr lo que desea hacer, la forma más fácil sería un foreach en foreach, donde simplemente prueba si la cadena que creó ya existe en la matriz.

Sería la forma más fácil, pero cuantos más elementos coloques, más energía necesitarás, así que usa esta solución con prudencia.

Algo como esto puede funcionar:

 var stringToSplit = 'I want to split this' var stringSplitted = stringToSplit.split(' ') var arrayOfNewStrings = [] stringSplitted.forEach(word => { var arrayOfString = [] arrayOfString.push(word) stringSplitted.forEach(otherWord => { if(word !== otherWord) arrayOfString.push(otherWord) }) arrayOfNewStrings.push(arrayOfString) }); console.log(arrayOfNewStrings)

Luego debe agregar una capa de for/foreach para cada palabra (esto funcionará solo para la primera) y probar si la matriz ya existe en ArrayOfNewStrings para evitar la duplicación.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda