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

カウントJavaScriptの文字数


nなどの数値を受け取るJavaScript関数を作成する必要があります。関数は、1からnまでの数字の名前の文字を数える必要があります。

例-n=5の場合;

その場合、数字は1、2、3、4、5になります。また、文字の総数は19なので、出力は19になります。

const sumUpto = (num = 1) => {
   let sum = 0;
   const lenHundred = 7;
   const lenThousand = 8;
   const lenPlaceOnes = [0,3,3,5,4,4,3,5,5,4];
   const lenPlaceTens = [0,3,6,6,5,5,5,7,6,6];
   for (let i = 1; i <= num; i++) {
      let placeOnes = i % 10;
      let placeTens = Math.floor(i / 10) % 10;
      let placeHundreds = Math.floor(i / 100) % 10;
      let placeThousands = Math.floor(i / 1000) % 10;
      sum += lenPlaceOnes[placeOnes];
      sum += lenPlaceTens[placeTens];
      if (placeHundreds != 0) {
         sum += lenHundred + lenPlaceOnes[placeHundreds];
      }
      if (placeThousands != 0) {
         sum += lenThousand + lenPlaceOnes[placeThousands];
      }
      if (placeTens === 1) {
         switch (placeOnes) {
            case 4:
            case 6:
            case 7:
            case 9:
            sum += 1;
            break;
         }
      }
      if (i > 100 && i % 100 != 0) {
         sum += 3;
      }
   }
   return sum;
}
console.log(sumUpto(12));
console.log(sumUpto(5));
console.log(sumUpto(122));

出力

これにより、次の出力が生成されます-

51
19
1280

  1. JavaScript数値関数

    JavaScript Number()関数は、引数として渡されたオブジェクト値をそれぞれの数値に変換します。 以下は、JavaScript Number()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> &

  2. JavaScriptで配列内の三角形の辺の数を数える

    問題 最初で唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。 この関数のタスクは、三角形の辺の長さとして三角形を作成できる配列から選択されたトリプレットの数を数えることです。 たとえば、関数への入力が-の場合 const arr = [2, 2, 3, 4]; その場合、出力は-になります。 const output = 3; 出力の説明 有効な組み合わせは次のとおりです。 2,3,4 (using the first 2) 2,3,4 (using the second 2) 2,2,3 例 以下はコードです- const arr =