JavaScriptで文字列から最初のk文字を削除する方法
問題の概要
JavaScriptで、文字列と数値 k を引数として受け取り、文字列の先頭 k 文字を取り除いた新しい文字列を返す関数を作成する必要があります。
例
たとえば、元の文字列が以下であるとします。
const str = "this is a string"
ここで、削除する文字数が次のとおりだとします。
n = 4
この場合、期待される出力は以下になります。
const output = " is a string"
実装コード
この処理を実現するコードは以下のとおりです。
const str = 'this is a string';
const removeN = (str, num) => {
const { length } = str;
if(num > length){
return str;
};
const newStr = str.substr(num, length - num);
return newStr;
};
console.log(removeN(str, 4));コンソールには次のように出力されます。
is a string
コードの解説
- 分割代入を使って、文字列全体の長さを変数 length に格納しています。
- num が文字列の長さを超えている場合は、すべての文字が削除対象となるため、元の文字列をそのまま返します。
- それ以外の場合は、substr メソッドで num 番目以降の部分文字列を切り出して返します。
より現代的な書き方:slice() の活用
なお、String.prototype.substr() は現在では非推奨(deprecated)とされているため、新規のコードでは String.prototype.slice() を使うことが推奨されています。slice を使うと、上記の処理はさらにシンプルに書けます。
const removeN = (str, num) => {
return str.slice(num);
};
console.log(removeN('this is a string', 4)); // " is a string"slice は第2引数を省略すると文字列の末尾までを抽出するため、第1引数だけを渡せば先頭 k 文字の削除が実現できます。負のインデックスにも対応しており、柔軟性の高いメソッドです。
-
JavaScriptで文字列の配列からコメントを削除する方法
この記事では、JavaScriptを使って文字列の配列からコメント部分を削除する方法について解説します。 問題 文字列の配列 arr を第一引数として、特殊文字の配列 starters を第二引数として受け取るJavaScript関数を作成する必要があります。 starters 配列には、コメントの開始となり得る文字が格納されています。作成する関数は、配列 arr を走査し、各文字列に含まれるコメントをすべて削除した結果を返すものとします。 例えば、関数への入力が次のような場合を考えてみましょう。 const arr = [ red, green !blue
-
JavaScriptで文字列内の文字を英字・数字・特殊文字に再グループ化する方法
問題文字列 str を第一引数(唯一の引数)として受け取る JavaScript 関数を作成する必要があります。この文字列には、次の3種類の文字が含まれる可能性があります。英字:(A-Z)、(a-z)数字:0〜9特殊文字:上記以外のすべての文字関数は文字列を先頭から順に走査し、ちょうど3つの要素からなる配列を構築します。1番目の要素には文字列に含まれるすべての英字、2番目には数字、3番目には特殊文字を格納し、それぞれ元の文字列内での出現順(相対的な順序)を維持します。最後にこの配列を返します。例えば、関数への入力が次の場合を考えてみましょう。入力const str = thi!1s is S@