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

JavaScriptで数値の配列を個々の数字に分割するにはどうすればよいですか?


Numberリテラルの配列があり、この配列を取り込んで10より大きい数値が1桁に分割されたNumbersの配列を返すsplitDigit()などの関数を作成する必要があります。

例-

//if the input is:
const arr = [ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106 ]
//then the output should be:
const output = [ 9, 4, 9, 5, 9, 6, 9, 7, 9, 8, 9, 9, 1, 0, 0, 1, 0, 1, 1,
0, 2, 1, 0, 3, 1, 0, 4, 1, 0, 5, 1, 0, 6 ];

それでは、この関数のコードを書いてみましょう。Array.prototype.reduce()メソッドを使用して数値を分割します。

const arr = [ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106 ]
const splitNum = (n, res = []) => {
   if(n){
      return splitNum(Math.floor(n/10), [n % 10].concat(res));
   };
   return res;
};
const splitDigit = (arr) => {
   return arr.reduce((acc, val) => acc.concat(splitNum(val)), []);
};
console.log(splitDigit(arr));

出力

コンソールの出力は-

になります
[
   9, 4, 9, 5, 9, 6, 9, 7, 9,
   8, 9, 9, 1, 0, 0, 1, 0, 1,
   1, 0, 2, 1, 0, 3, 1, 0, 4,
   1, 0, 5, 1, 0, 6
]

  1. JavaScriptで10進数を検証するにはどうすればよいですか?

    以下は、JavaScriptで10進数を検証するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>  

  2. JavaScriptで配列を連続したサブシーケンスに分割できます

    問題 最初で唯一の引数として、ソートされた整数の配列arrを受け取るJavaScript関数を作成する必要があります。 配列を1つ以上のサブシーケンスに分割して、各サブシーケンスが連続する整数で構成され、長さが3以上になる場合にのみ、関数はtrueを返す必要があります。それ以外の場合はfalseです。 たとえば、関数への入力が 入力 const arr = [1, 2, 3, 3, 4, 5]; 出力 const output = true; 出力の説明 それらを2つの連続したサブシーケンスに分割できます- 1, 2, 3 3, 4, 5 例 以下はコードです- cons