freeCodeCamp/guide/spanish/certifications/javascript-algorithms-and-d.../basic-algorithm-scripting/mutations/index.md

5.3 KiB
Raw Blame History

title localeTitle
Mutations Mutaciones

:triangular_flag_on_post: Recuerda usar Read-Search-Ask si te atascas. Tratar de emparejar el programa :busts_in_silhouette: y escribe tu propio código :pencil:

:checkered_flag: Explicación del problema:

  • Devuelva verdadero si la cadena en el primer elemento de la matriz contiene todas las letras de la cadena en el segundo elemento de la matriz.

Enlaces relevantes

:speech_balloon: Sugerencia: 1

  • Si todo está en minúsculas, será más fácil de comparar.

intenta resolver el problema ahora

:speech_balloon: Sugerencia: 2

  • Puede ser más fácil trabajar con nuestras cadenas si fueran matrices de caracteres.

intenta resolver el problema ahora

:speech_balloon: Sugerencia: 3

  • Un bucle podría ayudar. Use indexOf() para verificar si la letra de la segunda palabra está en la primera.

intenta resolver el problema ahora

¡Alerta de spoiler!

señal de advertencia

¡Solución por delante!

:beginner: Solución de código básico:

Procesal

function mutation(arr) { 
  var test = arr[1].toLowerCase(); 
  var target = arr[0].toLowerCase(); 
  for (var i=0;i<test.length;i++) { 
    if (target.indexOf(test[i]) < 0) 
      return false; 
  } 
  return true; 
 } 

:rocket: Ejecutar código

Explicación del código:

Primero hacemos las dos cadenas en la matriz en minúsculas. test mantendrá lo que estamos buscando en el target .
Luego hacemos un bucle a través de nuestros personajes de prueba y si no se encuentra alguno de ellos, return false .

Si se encuentran todos , el bucle terminará sin devolver nada y podemos return true .

Enlaces relevantes

:sunflower: Solución de código intermedio:

Declarativo

function mutation(arr) { 
  return arr[1].toLowerCase() 
    .split('') 
    .every(function(letter) { 
      return arr[0].toLowerCase() 
        .indexOf(letter) != -1; 
    }); 
 } 

:rocket: Ejecutar código

Explicación del código:

Toma la segunda cadena, en minúscula y conviértela en una matriz; luego asegúrese de que cada una de sus letras sea parte de la primera cadena en minúsculas.

Básicamente, Every le daremos letra por letra para comparar, lo que hacemos al usar indexOf en la primera cadena. indexOf le dará -1 si falta la letter actual. Verificamos que no sea así, ya que si esto sucede incluso una vez, every será falso.

Enlaces relevantes

:clipboard: NOTAS PARA LAS CONTRIBUCIONES:

  • :warning: NO agregue soluciones que sean similares a las soluciones existentes. Si cree que es similar pero mejor , intente fusionar (o reemplazar) la solución similar existente.
  • Agregue una explicación de su solución.
  • Categorice la solución en una de las siguientes categorías: Básica , Intermedia y Avanzada . :traffic_light:
  • Agregue su nombre de usuario solo si ha agregado algún contenido principal relevante . ( :warning: NO elimine ningún nombre de usuario existente )

Ver :point_right: Wiki Challenge Solution Template para referencia.