まず、文字列を取得し、split()
メソッドを使用して文字の配列に変換します。 正規表現を使用して、単語以外の文字または\W
がある場所で文字を分割します。 これらの文字には、空白、英数字、およびアンダースコアが含まれます。 それをnewArr
という変数に代入します。
let newArr = str.split(/\W/g);
次に、新しい配列を取得し、slice()
メソッドを使用して、配列内のすべての項目を2番目の文字から最後の文字まで抽出しますが、最後の文字は含まれま Sliceメソッドはこの配列部分の浅いコピーを返すので、それをarrSlice
という変数に代入します。
join()
メソッドを使用して、配列を文字列に戻します。 各文字の間にスペースを追加するようにしてください。
let arrSlice = newArr.slice(1, newArr.length-1).join(" ");
文字列が空であるかどうかをチェックするワンライナー条件演算子を返します。
最初と最後の文字を削除した後に文字列シーケンスに少なくとも一つの文字が残っている場合は、arrSlice
を返します。
arrSlice
に文字が残っていない場合は、null
を返します。
return arrSlice ? arrSlice : null;
ここでは、関数の残りの部分です:
function firstAndLast(str){
let newArr = str.split(/\W/g);
let arrSlice = newArr.slice(1, newArr.length-1).join(" ");
return arrSlice ? arrSlice : null;
}