Comenzamos tomando la cadena y convirtiéndola en una matriz de caracteres utilizando el método split()
. Usando expresiones regulares, dividimos los caracteres donde hay un carácter que no es de palabra o \W
. Estos caracteres incluyen espacios en blanco, caracteres alfanuméricos y guiones bajos. Lo asignamos a una variable llamada newArr
.
let newArr = str.split(/\W/g);
A continuación, tomamos nuestra nueva matriz y usamos el método slice()
para extraer todos los elementos de la matriz desde el segundo carácter hasta el último carácter, pero sin incluirlo. El método slice devuelve una copia superficial de esta porción de matriz, por lo que la asignamos a una variable llamada arrSlice
.
Volvemos a convertir el array en una cadena usando el método join()
. Asegúrate de añadir un espacio entre cada personaje.
let arrSlice = newArr.slice(1, newArr.length-1).join(" ");
Devolvemos un operador condicional de una línea que comprueba si la cadena está vacía.
Si nuestra secuencia de cadenas tiene al menos un carácter restante después de eliminar el primer y el último carácter, devolvemos arrSlice
.
Si no quedan caracteres en arrSlice
, devolveremos null
.
return arrSlice ? arrSlice : null;
Aquí está el resto de la función:
function firstAndLast(str){
let newArr = str.split(/\W/g);
let arrSlice = newArr.slice(1, newArr.length-1).join(" ");
return arrSlice ? arrSlice : null;
}