「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JavaScriptの不足している数学方法

JavaScriptの不足している数学方法

2025-03-23に投稿されました
ブラウズ:298

The Missing Math Methods in JavaScript

この記事では、JavaScriptの欠落している数学機能を調査し、カスタム実装を提供します。 JavaScriptの Math オブジェクトは有用な操作を提供しますが、他の言語で見つかった多くの一般的に使用される関数がありません。 私たちは、合計、製品、奇数/偶数チェック、三角形数、要因、因子、素数チェック、最大の共通除数(GCD)、および最も低い共通倍数(LCM)。

をカバーします。

キーポイント:

  1. javascriptの数学機能を拡張する:標準ライブラリに含まれていない重要な数学操作のためのJavaScript関数を作成します。 これらの機能は、多くのプログラミングコンテキストで基本的です。

  2. 効率的な実装:繰り返し(ループ)と再帰的アプローチの両方を使用して効率的な実装を実証し、 reduce()メソッドやユークリッドアルゴリズムなどの手法を紹介します。

  3. 実用的なアプリケーションとコードの最適化:これらの関数が有益であり、コードの明確さと効率を強調する現実世界のシナリオを強調します。

数学の方法がありません:

1。合計:アレイの要素の合計を計算します。 reduce()メソッドは簡潔なソリューションを提供します:

function sum(array) {
  return array.reduce((sum, number) => sum   number, 0);
}

2。製品:アレイの要素の積の計算。 sum reduce()は効率的です:

function product(array) {
  return array.reduce((total, num) => total * num, 1);
}

3。奇妙で偶数:数値が奇数かどうかを判断するか、モジュロ演算子を使用している():

function isEven(number) {
  return number % 2 === 0;
}

function isOdd(number) {
  return number % 2 !== 0;
}

4。三角形数:式0.5 n (n 1):を使用してn番目の三角形数を計算する

function triangleNumber(n) {
  return 0.5 * n * (n   1);
}

5。要因:再帰を使用して数値の要因を計算する:

function factorial(n) {
  if (n 

6。要因:数字のすべての要因を見つける:

function factors(number) {
    let factorsList = [];
    for (let count = 1; count 

7。 isprime:番号がプライムであるかどうかを確認:

function isPrime(number) {
  return factors(number).length === 2;
}

8。 GCD(Greatest Common Divisor):効率のためにユークリッドアルゴリズムを使用:

function gcd(a, b) {
  if (b === 0) {
    return a;
  } else {
    return gcd(b, a % b);
  }
}

9。 LCM(最も低い一般的な倍数): GCDを使用して計算:

function lcm(a, b) {
  return (a * b) / gcd(a, b);
}
これらの関数は、JavaScriptの数学機能を強化し、一般的なプログラミングタスクのソリューションを提供します。 これらの機能の完全なコレクションは、他の機能とともに、ミニライブラリ(利用可能な場合は提供されるリンク)で利用できます。 これは、特定のニーズを満たすためにコア機能を拡張する力を示しています。

(FAQSセクションはほぼ同じままですが、より良い流れと簡潔さのためにわずかに言い換える可能性があります。)

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3