JavaScriptで数値の各桁を2乗して連結する方法
JavaScriptで数値の各桁を2乗して連結する関数を作る
今回は、数値を受け取り、その各桁を2乗した結果を連結した新しい数値を返すJavaScript関数を作成します。
例えば、入力が次の数値だったとします。
99
この場合、期待される出力は次のとおりです。
8181
これは、9の2乗が「81」であり、2桁目の9も同様に「81」になるためです。つまり「81」と「81」を連結して「8181」という結果が得られます。
それでは、この関数のコードを書いていきましょう。
コード例
実装コードは以下のとおりです。
const num = 9119;
const squared = num => {
const numStr = String(num);
let res = '';
for(let i = 0; i < numStr.length; i++){
const square = Math.pow(+numStr[i], 2);
res += square;
};
return res;
};
console.log(squared(num));
コードの解説
このコードの処理の流れは以下のとおりです。
まず、String(num)で数値を文字列に変換し、各桁にインデックスでアクセスできるようにします。次に、forループで各桁を順番に取り出し、Math.pow(+numStr[i], 2)によって単項プラス演算子で数値化したうえで2乗を計算します。最後に、計算結果を文字列として順に連結し、完成した文字列をresとして返します。
例として入力した「9119」の場合、9² = 81、1² = 1、1² = 1、9² = 81 となるため、それぞれを連結した「811181」が結果になります。
出力結果
コンソールには次のように出力されます。
811181
-
JavaScriptで数値の各桁の数字を一つずつ分割表示する方法
はじめに この記事では、ユーザーが入力した数値を検証し、有効な数値であればその各桁の数字を画面に一つずつ表示するJavaScriptプログラムの作り方を解説します。 動作イメージ ページ上のボタンをクリックすると入力ダイアログが開き、そこに数値を入力してOKを押すと、入力された数値の各桁が一行ずつ画面に出力される仕組みです。 例えば、入力が次のような場合—— 43354 画面には次のように表示されます。 4 3 3 5 4 完成コード HTML <!DOCTYPE html> <html> <head> &n
-
JavaScriptで数字パターンを表示する方法【初心者向けサンプルコード】
本記事では、テキスト入力欄とボタンを備えたJavaScript・HTMLプログラムの作成方法を解説します。ユーザーが入力欄に任意の数値(例:5)を入力してボタンをクリックすると、画面に以下のような数字パターンが表示される仕組みです。(n = 5 の場合の出力例)01 01 02 01 02 03 01 02 03 04 01 02 03 04 05仕組みのポイントこのパターンは二重ループ(ネストしたforループ)を使うことで実現できます。外側のループが「行」を制御し、内側のループがその行に表示する「数字の個数」を制御します。i 行目には 1 から i までの数字が順番に出力されるため、行が進む