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

260
Visualizações
Cómo encontrar anagramas de cada palabra contenida en una oración usando JavaScript
Eg: 'abba' and 'baab' are equal 'abba' and 'bbaa' are equal 'abba' and 'abbba' are NOT equal 'abba' and 'abca' are NOT equal

Tienes que escribir una función que encuentre todos los anagramas de cada palabra contenida en una oración de una lista con palabras (IMPORTANTE: las palabras de la oración están separadas solo por espacios).

Se le darán 2 entradas: una oración y una matriz con palabras. DEBE devolver una matriz de todos los anagramas o una matriz vacía si no hay ninguno.

Nota:

  • Su solución se probará automáticamente; asegúrese de proporcionar el código de ejecución
  • No se concentre en crear elementos visuales, solo JavaScript
  • Si su código se bloquea o tarda demasiado en ejecutarse, su solución no se evaluará
  • Eres libre de crear funciones adicionales, pero mantén la solution como la función principal
 /* your code here */ const sort = (word) => word.split('').sort().join(''); function anagrams(word, words) { let token = sort(word); return words.filter((w) => sort(w) === token); } console.log(anagrams('abba', ['aabb', 'abcd', 'bbaa', 'dada'])); } // test your solution solution('dvvd pddp', ['ddvv', 'dvcd', 'vvdd', 'pdpd']) // ['ddvv', 'vvdd', 'pddp'] solution('laser space', ['lazing', 'lazy', 'lacer']) // [] solution('We will eat tenderising meat at Rivera with no regally plate because there is none', ['administration', 'ingredients', 'admit', 'beat', 'arrive', 'blood', 'door', 'each', 'on', 'economic', 'gallery', 'edge', 'three', 'drop']) // ['ingredients', 'arrive', 'on', 'gallery', 'three'] ```

¿Cómo debo probar exactamente mis soluciones?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Haz una función que ordene las letras de una palabra (en minúsculas) y devuelva ese anagrama ordenado.

Use esa función para crear todas las palabras ordenadas a partir de la frase de entrada y convertirla en un conjunto.

Finalmente, itere la matriz de anagramas y, para cada una de esas palabras, vea si la versión ordenada está en el conjunto. Si es así, debería estar en el resultado.

¿Cómo debo probar exactamente mis soluciones?

Use los ejemplos de entrada/salida que se dan en el desafío del código.

Ejecute su función de solution con esas entradas y verifique que el valor devuelto sea el esperado. Mira cómo se hace a continuación:

 function solution(phrase, anagrams) { const sortWord = word => [...word.toLowerCase()].sort().join(""); let words = new Set(phrase.match(/\S+/g).map(sortWord)); return anagrams.filter(anagram => words.has(sortWord(anagram))); } // tests const tests = [ { input: ['dvvd pddp', ['ddvv', 'dvcd', 'vvdd', 'pdpd']], expected: ['ddvv', 'vvdd', 'pdpd'] }, { input: ['laser space', ['lazing', 'lazy', 'lacer']], expected: [] }, { input: ['We will eat tenderising meat at Rivera with no regally plate because there is none', ['administration', 'ingredients', 'admit', 'beat', 'arrive', 'blood', 'door', 'each', 'on', 'economic', 'gallery', 'edge', 'three', 'drop']], expected: ['ingredients', 'arrive', 'on', 'gallery', 'three'] } ]; for (let { input, expected } of tests) { let output = solution(...input); if (JSON.stringify(output) !== JSON.stringify(expected)) { throw "got " + JSON.stringify(output) + ", but expected " + JSON.stringify(expected); } } console.log("all tests passed");

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