Cadena termina con… JS

Descripción del problema

Regresar true si una cadena termina con otra cadena dadas como argumentos. Ejemplo verificarTerminacion(‘Holaa’, ‘aa’) // return true. Si la cadena de terminación está vacía regresar true.

Solución planteada:

  1. Verificar si la cadena de terminación está vacía, si es así regresar true
  2. Obtener la terminación de la cadena original, dependiendo del tamaño de la cadena de terminación
  3. Verificar si la terminación de la cadena original es igual a la cadena de terminación.

1. Verificar si la cadena de terminación está vacia

En este paso solo verificamos si la cadena existe, si no regresamos true de una vez

2. Obtener la terminación de la cadena original

Aquí se ocupa el método slice(), esté método obtiene una copia por así decirlo del arreglo original sin afectarlo. Los argumentos que recibe es la posición inicial y la final. Es decir de dónde va a empezar a tomar los valores y hasta dónde. Recordemos que en los arreglos y cadenas el índice inicial siempre es 0

Entonces para obtener la terminación de la cadena original, al método slice() se le pasa la longitud de la cadena de terminación pero en negativo, con esto se inicia del final hasta donde llegue la longitud de la cadena de terminación, por ejemplo para la cadena original «Perro» si la longitud de la cadena de terminación es 3, será slice(-3) e iría de la o hasta la primer r. El código queda así

3. Verificar si la terminación de la cadena es igual a la cadena de comparación

Para terminar solo verificamos si lo que se obtiene en el paso anterior es igual a la cadena de terminación. El código final queda de la siguiente manera