Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

119
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda