Ejemplos de recursividad, Función recursiva verdadera

Ejemplos de recursividad

Escribir una función recursiva que acepte un arreglo y una función callback. La función retorna true si un valor en el arreglo returna true cuando sea enviado a la función callback. De otra forma que retorne false.

function esPalindroma(str) {
    if (str.length === 1) {
        return true;
    }

    if (str.length === 2) {
        return str[0] === str[str.length - 1];
    }

    if (str[0] === str[str.length - 1]) {
        return esPalindroma(str.slice(1, str.length - 1));
    }

    return false;
}