zaczynamy od wzięcia łańcucha i przekształcenia go w tablicę znaków za pomocą metody split()
. Używając wyrażeń regularnych, dzielimy znaki tam, gdzie jest znak nie-wyrazowy lub \W
. Znaki te obejmują białe znaki, znaki alfanumeryczne i znaki podkreślenia. Przypisujemy go do zmiennej o nazwie newArr
.
let newArr = str.split(/\W/g);
następnie bierzemy naszą nową tablicę i używamy metody slice()
, aby wyodrębnić wszystkie elementy tablicy z drugiego znaku aż do ostatniego znaku, ale nie włączając w to. Metoda slice zwraca płytką kopię tej części tablicy, więc przypisujemy ją do zmiennej o nazwie arrSlice
.
zmieniamy tablicę z powrotem w łańcuch za pomocą metody join()
. Pamiętaj, aby dodać spację między każdą postacią.
let arrSlice = newArr.slice(1, newArr.length-1).join(" ");
zwracamy jednoliniowy operator warunkowy, który sprawdza, czy łańcuch jest pusty.
jeśli po usunięciu pierwszego i ostatniego znaku zostanie przynajmniej jeden znak, zwracamy arrSlice
.
jeśli w arrSlice
nie ma żadnych znaków, zwracamy null
.
return arrSlice ? arrSlice : null;
oto reszta funkcji:
function firstAndLast(str){
let newArr = str.split(/\W/g);
let arrSlice = newArr.slice(1, newArr.length-1).join(" ");
return arrSlice ? arrSlice : null;
}