začneme tím, že vezmeme řetězec a přeměníme jej na pole znaků pomocí metody split()
. Pomocí regulárních výrazů rozdělíme znaky tam, kde je neslovný znak nebo \W
. Tyto znaky zahrnují mezery, alfanumerické znaky a podtržítka. Přiřadíme ji proměnné nazvané newArr
.
let newArr = str.split(/\W/g);
dále vezmeme naše nové pole a použijeme metodu slice()
k extrahování všech položek v poli z druhého znaku až do posledního znaku, ale bez něj. Metoda slice vrací mělkou kopii této části pole, takže ji přiřadíme proměnné nazvané arrSlice
.
změníme pole zpět na řetězec pomocí metody join()
. Nezapomeňte mezi každý znak přidat mezeru.
let arrSlice = newArr.slice(1, newArr.length-1).join(" ");
vrátíme podmíněný operátor s jednou linií, který zkontroluje, zda je řetězec prázdný.
pokud má naše řetězcová sekvence po odstranění prvního a posledního znaku alespoň jeden znak, vrátíme arrSlice
.
pokud v arrSlice
nezůstanou žádné znaky, vrátíme null
.
return arrSlice ? arrSlice : null;
zde je zbytek funkce:
function firstAndLast(str){
let newArr = str.split(/\W/g);
let arrSlice = newArr.slice(1, newArr.length-1).join(" ");
return arrSlice ? arrSlice : null;
}