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

117
Views
¿Cómo se puede acceder al elemento relacionado desde una segunda matriz si solo se tiene el elemento elegido al azar de la primera matriz?

Básicamente, tengo dos matrices de elementos de matriz relacionados, donde un elemento se elige al azar.

Quiero imprimir el elemento relacionado de la segunda matriz. Digamos que uno tiene una matriz de nombres de trabajo y se ve así:

 const jobNames = ["Builder", "Doctor", "Vet"];

Luego, uno elige un nombre de trabajo aleatorio como ese:

 var randomJobName = jobNames[ Math.floor(Math.random() * jobNames.length) ];

Ahora uno tiene otra matriz que, con cada elemento, presenta la descripción de su nombre de trabajo relacionado.

¿Cómo se puede acceder al elemento relacionado desde la segunda matriz si solo se tiene el elemento elegido al azar de la primera matriz?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Si los nombres de los trabajos y las descripciones de los trabajos se combinan, me pregunto por qué están en dos matrices diferentes. Este es un caso de uso perfecto para Objetos. yo lo estructuraria asi

 const jobs = [ {name: "Builder", description: "Builds Stuff"}, {name: "Doctor", description: "Heals Stuff"}, {name: "Vet", description: "Heals Stuff but for animals."} ]

Usando la desestructuración de objetos para acceder a los valores:

 const {name, description} = jobs[Math.floor(Math.random() * jobNames.length)] alert(`Found job: ${name} who ${description}`)
about 4 years ago · Juan Pablo Isaza Report

0

Hay básicamente 3 enfoques diferentes.

La más fácil es, como ya sugirió VLAZ , obtener un índice aleatorio una vez y acceder a ambos elementos, cada uno de su matriz mediante este índice aleatorio.

 const jobNames = ['Builder', 'Doctor', 'Vet']; const jobDescriptions = [ 'creates/builds things/stuff.', 'tries fixing human health issues.', 'does fix animal health issues.', ]; const randomIdx = Math.floor(Math.random() * jobNames.length); const jobName = jobNames[randomIdx]; const jobDescription = jobDescriptions[randomIdx]; console.log({ jobName, jobDescription });
 .as-console-wrapper { min-height: 100%!important; top: 0; }

En caso de que el OP no tenga la posibilidad de usar un solo índice aleatorio a la vez y, por lo tanto, se vea obligado a trabajar con el nombre del trabajo ya elegido al azar, entonces el OP necesita encontrar el índice de este mismo nombre de trabajo desde donde el OP puede proceda con la selección de la descripción del trabajo relacionado...

 const jobNames = ['Builder', 'Doctor', 'Vet']; const jobDescriptions = [ 'creates/builds things/stuff.', 'tries fixing human health issues.', 'does fix animal health issues.', ]; // OP has no control about how `jobName` is/was/gets chosen. const jobName = jobNames[ Math.floor(Math.random() * jobNames.length) ]; const index = jobNames.indexOf(jobName); const jobDescription = jobDescriptions[index]; console.log({ jobName, jobDescription });
 .as-console-wrapper { min-height: 100%!important; top: 0; }

En caso de que dicha tarea deba ejecutarse con frecuencia/repetidamente y en caso de que el OP pueda cambiar el código cuando el OP esté satisfecho, un enfoque fue combinar ambas matrices en una matriz de elementos de trabajo agregados (nombre y descripción) y hacer la selección aleatoria una vez de esta nueva estructura de matriz...

 const jobNames = ['Builder', 'Doctor', 'Vet']; const jobDescriptions = [ 'creates/builds things/stuff.', 'tries fixing human health issues.', 'does fix animal health issues.', ]; const jobList = jobNames .map(function (name, idx) { const description = this[idx]; return { name, description, }; // `jobDescriptions` applied as }, jobDescriptions); // `map`'s 2nd `thisArg` argument. function getRandomArrayIndex(arr) { return Math.floor(Math.random() * arr.length); } const { name, description, } = jobList[ getRandomArrayIndex(jobList) ]; console.log({ name, description }); console.log({ jobList });
 .as-console-wrapper { min-height: 100%!important; top: 0; }

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!