ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript を使用して配列のカーディナリティの合計を求める

JavaScript を使用して配列のカーディナリティの合計を求める

PHPz
PHPzオリジナル
2023-05-17 18:54:07664ブラウズ

JavaScript プログラミングでは、通常、配列に対してさまざまな操作を実行する必要があります。その中でよくある質問は、配列の基本和を求める方法です。基数合計は、配列内のすべての奇数値の合計です。この記事では、JavaScript を使用して配列の基数合計を解く方法を学び、それを解決するためのいくつかの異なる方法を紹介します。

方法 1: 配列を走査して 1 つずつ累積する

この方法は非常に簡単です。for ループを使用して配列全体を走査するだけです。現在の要素が見つかった場合、奇数の場合は、それを基数に加算し、アキュムレータに追加します。このメソッドを実装するコードは次のとおりです。

function oddSum(arr) {
  let sum = 0; // 定义累加器,初始值为0
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] % 2 !== 0) { // 如果当前值是奇数
      sum += arr[i]; // 将其加入累加器中
    }
  }
  return sum; // 返回基数和
}

このメソッドの利点は、シンプルで直接的で理解しやすいことです。ただし、その効率は高くなく、特にアレイが比較的大きい場合には、パフォーマンスの問題が発生します。

方法 2: Array.prototype.reduce() を使用する

JavaScript には組み込みの高度な関数 Array.prototype.reduce() があり、配列の各要素を累積できます。関数要素。最終的には値を返します。これを使用して基本合計を求めることができます。以下は、reduce メソッドを使用して実装されたコードです。

function oddSum(arr) {
  return arr.reduce((sum, cur) => {
    if (cur % 2 !== 0) {
      return sum + cur;
    } else {
      return sum;
    }
  }, 0);
}

この関数の原理はメソッド 1 と同じです。違いは、コードをより簡潔にし、組み込みの配列反復関数を使用することです。読める。同時に、この方法は JavaScript の組み込み最適化アルゴリズムを利用するため、方法 1 よりも効率的です。

方法 3: Array.prototype.filter() と Array.prototype.reduce() を使用する

もう 1 つの方法は、まず Array.prototype.filter() を使用して、すべての要素を選択することです。配列が奇数の場合は、Array.prototype.reduce() を使用してこれらの要素を合計します。このメソッドを実装するコードは次のとおりです。

function oddSum(arr) {
  const oddArr = arr.filter(num => num % 2 !== 0); // 选择出所有的奇数
  const sum = oddArr.reduce((sum, cur) => sum + cur, 0); // 将这些元素求和
  return sum; // 返回基数和
}

このメソッドは 2 つのループが必要なため、メソッド 2 よりも若干遅くなる可能性があります。ただし、このアプローチは非常に読みやすく、理解しやすいです。繰り返しますが、JavaScript に組み込まれた最適化アルゴリズムを使用しているため、パフォーマンスは依然として非常に高いです。

概要

この記事では、JavaScript 配列の基数和を解く 3 つの方法を紹介しました。 3 つの方法はすべて有効ですが、それぞれに長所と短所があります。実際の状況に基づいて、最適な方法を選択することをお勧めします。メソッドを選択した後、console.time() 関数や console.timeEnd() 関数などのコードのパフォーマンスをテストするいくつかのツールを使用して、実行時間を知ることができます。

つまり、読者が JavaScript を使用して配列の基数和を解く方法を理解し、いくつかの一般的なテクニックを習得できることを願っています。これらのヒントを使用すると、さまざまな配列操作を簡単に処理でき、プログラミング スキルを向上させることができます。

以上がJavaScript を使用して配列のカーディナリティの合計を求めるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。