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 サイトの他の関連記事を参照してください。