Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

121
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!