【JavaScript】文字列のASCIIスコア(合計値)を計算する方法
ASCIIコードとは
ASCII(アスキー)は7ビットで構成される文字コード体系であり、それぞれのビットパターンが一意の文字に対応しています。
英字アルファベットのすべての文字には、固有の10進数のASCIIコードが割り当てられています。
ここでは、文字列を引数として受け取り、その文字列を構成するすべての文字のASCIIコードの合計値を算出するJavaScript関数を作成します。
実装例
以下が実際のコードです。
const str = 'This string will be used for calculating ascii score';
const calculateASCII = str => {
let res = 0;
for(let i = 0; i < str.length; i++){
const num = str[i].charCodeAt(0);
res += num;
};
return res;
};
console.log(calculateASCII(str));コードの解説
この関数では、forループを使って文字列を1文字ずつ走査し、charCodeAt(0)メソッドによって各文字のASCIIコード(10進数)を取得しています。取得したコードを順次加算していき、最終的な合計値を返り値として返します。
出力結果
コンソールには以下のように出力されます。
4946
このように、charCodeAt()メソッドを活用することで、文字列全体のASCIIスコアを簡単に計算できます。なお、より簡潔に書きたい場合はreduceやsplit('')を組み合わせる方法もあります。
-
JavaScriptで文字列内の最長の母音部分文字列の長さを求める方法
問題 文字列を引数として受け取るJavaScriptの関数を作成する必要があります。この関数は、母音(a、e、i、o、u)のみで構成される連続した部分文字列の中から、最も長いものの長さを返さなければなりません。 アプローチ この問題は、文字列を先頭から順番に走査しながら、現在連続している母音の数をカウントすることで解決できます。具体的な手順は以下の通りです。 cur:現在連続している母音の数を記録するカウンター変数 max:これまでに見つかった最長の母音連鎖の長さを保持する変数 走査中の文字が母音であれば cur を1増やし、max より大きければ max を更新する 子音に遭遇した場合は
-
JavaScriptで括弧文字列のスコアを計算する方法
問題の概要バランスの取れた角括弧([ と ])のみで構成された文字列 str を引数として受け取り、そのスコアを計算して返すJavaScript関数を作成する必要があります。スコアの計算は、以下のルールに従います。[] のスコアは 12つのバランスの取れた括弧文字列 A と B を連結した AB のスコアは A + Bバランスの取れた括弧文字列 A を囲んだ [A] のスコアは 2 × A入出力例例えば、関数への入力が次の場合:入力const str = [][];出力const output = 2;この場合、[] が2つ並んでいるため、スコアは 1 + 1 = 2 となります。解決アプロー