JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

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
  1. JavaScriptで数値の各桁の数字を一つずつ分割表示する方法

    はじめに この記事では、ユーザーが入力した数値を検証し、有効な数値であればその各桁の数字を画面に一つずつ表示するJavaScriptプログラムの作り方を解説します。 動作イメージ ページ上のボタンをクリックすると入力ダイアログが開き、そこに数値を入力してOKを押すと、入力された数値の各桁が一行ずつ画面に出力される仕組みです。 例えば、入力が次のような場合—— 43354 画面には次のように表示されます。 4 3 3 5 4 完成コード HTML <!DOCTYPE html> <html>   <head>   &n

  2. 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 までの数字が順番に出力されるため、行が進む