5.3 KiB
title | localeTitle |
---|---|
Mutations | Mutaciones |
Recuerda usar Read-Search-Ask
si te atascas. Tratar de emparejar el programa y escribe tu propio código
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
Sugerencia: 1
- Si todo está en minúsculas, será más fácil de comparar.
intenta resolver el problema ahora
Sugerencia: 2
- Puede ser más fácil trabajar con nuestras cadenas si fueran matrices de caracteres.
intenta resolver el problema ahora
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!
¡Solución por delante!
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;
}
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
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;
});
}
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
NOTAS PARA LAS CONTRIBUCIONES:
- 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 .
- Agregue su nombre de usuario solo si ha agregado algún contenido principal relevante . ( NO elimine ningún nombre de usuario existente )
Ver
Wiki Challenge Solution Template
para referencia.