JavaScriptで指定した文字数に文字列を切り詰める方法
JavaScriptでは、長いテキストを一覧表示やプレビュー用に短く表示したい場面がよくあります。この記事では、文字列と数値を受け取り、指定された文字数を超える場合は文字列を切り詰めて末尾に「...」を付けて返す関数の実装方法を解説します。
要件
作成する関数は、文字列と数値の2つの引数を受け取ります。文字列の長さが指定された数値より大きい場合は、先頭から指定文字数分だけ切り取った文字列に「...」を連結して返します。切り詰める必要がない場合(元の文字列が指定文字数以下の場合)は、元の文字列をそのまま返します。
コード例
以下がその実装コードです。
const str = 'Testing String';
const num = 8;
const limitString = (str = '', num = 1) => {
const { length: len } = str;
if(num < len){
return str.slice(0, num) + '...';
}else{
return str;
};
};
console.log(limitString(str, num));コードのポイント
この関数では、分割代入を使って文字列の長さをlenとして取得しています。条件分岐により、指定文字数が実際の長さ未満の場合のみslice()メソッドで文字列を切り取り、省略記号「...」を付加します。slice(0, num)はインデックス0からnum番目の手前までを抽出するため、正確に指定文字数分の文字列が得られます。
出力結果
コンソールには次のように出力されます。
Testing ...
元の文字列「Testing String」(14文字)は指定された8文字より長いため、先頭8文字「Testing 」が切り取られ、末尾に「...」が付いて出力されています。
-
JavaScriptで文字列が同じパターンの繰り返しかどうかを判定する方法
はじめにJavaScriptでは、文字列を引数として受け取り、その文字列が同じ文字パターンの繰り返しで構成されているかどうかを判定する関数を求められることがあります。例えば、入力文字列が carcarcarcar の場合、car というパターンが繰り返されているため、結果は true となります。一方、繰り返しパターンが見つからない場合は false を返します。入力例const str = carcarcarcar;期待される出力const output = true;アルゴリズムの考え方文字列が繰り返しパターンを持つかどうかを確認するには、以下の条件を利用します。繰り返し単位の長さは、文字
-
マジックストリング(魔法の文字列)問題をJavaScriptで解く方法
マジックストリングの問題概要マジックストリング(魔法の文字列)とは、「1」と「2」だけから構成され、次の性質を持つ特別な文字列です。この文字列が「マジック(魔法)」と呼ばれるのは、連続する「1」や「2」のかたまり(グループ)ごとの出現回数をつなぎ合わせると、元の文字列そのものが再現されるからです。文字列 str の最初の部分は次のようになっています。str = 1221121221221121122……str 内の連続した「1」「2」をそれぞれグループに分けると、次のようになります。1 22 11 2 1 22 1 22 11 2 11 22 ……さらに、各グループにおける「1」または「2」の