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

153
Visualizações
How to create an object function that randomly change a element in the object's property

I am trying to create a factory function that comes with a mutate() method that takes a random element in the object.dna property and change it to a random base from bases = ['A', 'T', 'C', 'G']. However, the element randomly selected from object.dna has to be changed to an different base, and it cannot remain the same.

const pAequorFactory = (specimenNum, dna) => {
  return {
  specimenNum,
  dna,
  mutate() {
      const bases = ['A', 'T', 'C', 'G'];
      let selectedBase = this.dna[Math.floor(Math.random()*this.dna.length)];
      let randomBase
              do {
              randomBase =  bases[Math.floor(Math.random()*bases.length)];
              // console.log(randomBase);
          } while (selectedBase === randomBase);}
                 }                  
              }


const a = [
  'G', 'C', 'A', 'T',
  'C', 'G', 'G', 'A',
  'C', 'G', 'G', 'T',
  'T', 'A', 'G'
]
let b =pAequorFactory(17, a)
b.mutate;
console.log(b.dna);

I ran the code above and expected a random element in b.dna to change, but it didn't.

  • I used do... while so the randomly selected base would overwrite the selectedBase if different, and if not would randomly select another base.
about 4 years ago · Juan Pablo Isaza
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