Bei der JavaScript-Programmierung müssen wir normalerweise verschiedene Operationen an Arrays ausführen. Eine häufige Frage dabei ist, wie man die Kardinalsumme eines Arrays ermittelt. Die Basissumme ist die Summe aller ungeraden Werte im Array. In diesem Artikel erfahren Sie, wie Sie die Basissumme eines Arrays mithilfe von JavaScript lösen und stellen einige verschiedene Möglichkeiten zur Lösung vor.
Methode 1: Durchlaufen Sie das Array und akkumulieren Sie es nacheinander.
Diese Methode ist sehr einfach, um das gesamte Array zu durchlaufen Da das aktuelle Element eine ungerade Zahl ist, werden wir es zum Akkumulator der Basissumme addieren. Das Folgende ist der Code zum Implementieren dieser Methode:
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; // 返回基数和 }
Der Vorteil dieser Methode besteht darin, dass sie einfach, direkt und leicht zu verstehen ist. Allerdings ist seine Effizienz nicht hoch, insbesondere wenn das Array relativ groß ist, treten Leistungsprobleme auf.
Methode 2: Verwenden Sie Array.prototype.reduce()
In JavaScript gibt es eine integrierte erweiterte Funktion Array.prototype.reduce(), die in akkumuliert werden kann eine Funktion Jedes Element des Arrays gibt letztendlich einen Wert zurück. Wir können es verwenden, um nach Basissummen zu suchen. Das Folgende ist der mit der Reduce-Methode implementierte Code:
function oddSum(arr) { return arr.reduce((sum, cur) => { if (cur % 2 !== 0) { return sum + cur; } else { return sum; } }, 0); }
Das Prinzip dieser Funktion ist das gleiche wie bei Methode 1. Der Unterschied besteht darin, dass die integrierte Array-Iterationsfunktion verwendet wird, um den Code zu verbessern prägnant und lesbar. Gleichzeitig ist diese Methode effizienter als Methode 1, da sie den integrierten Optimierungsalgorithmus von JavaScript nutzt.
Methode 3: Verwenden Sie Array.prototype.filter() und Array.prototype.reduce()
Eine andere Methode besteht darin, zuerst Array.prototype.filter() zur Auswahl zu verwenden Alle ungeraden Zahlen im Array und verwenden Sie dann Array.prototype.reduce(), um diese Elemente zu summieren. Im Folgenden finden Sie den Code zum Implementieren dieser Methode:
function oddSum(arr) { const oddArr = arr.filter(num => num % 2 !== 0); // 选择出所有的奇数 const sum = oddArr.reduce((sum, cur) => sum + cur, 0); // 将这些元素求和 return sum; // 返回基数和 }
Diese Methode ist möglicherweise etwas langsamer als Methode zwei, da sie zwei Schleifen erfordert. Dieser Ansatz ist jedoch sehr gut lesbar und leicht zu verstehen. Auch hier werden in JavaScript integrierte Optimierungsalgorithmen verwendet, sodass die Leistung immer noch sehr hoch ist.
Zusammenfassung
In diesem Artikel haben wir drei Methoden zum Lösen der Basissumme von JavaScript-Arrays vorgestellt. Alle drei Methoden sind gültig, aber jede hat ihre eigenen Vor- und Nachteile. Wir empfehlen Ihnen, basierend auf Ihrer tatsächlichen Situation die Methode zu wählen, die am besten zu Ihnen passt. Nach Auswahl der Methode können wir einige Tools verwenden, um die Leistung des Codes zu testen, z. B. die Funktionen console.time() und console.timeEnd(), um deren Ausführungszeit zu ermitteln.
Kurz gesagt, wir hoffen, dass die Leser verstehen, wie man mit JavaScript die Basissumme eines Arrays löst und einige gängige Techniken beherrscht. Mit diesen Tipps können Sie verschiedene Array-Operationen problemlos handhaben und Ihre Programmierkenntnisse verbessern.
Das obige ist der detaillierte Inhalt vonErmitteln Sie mit JavaScript die Kardinalitätssumme eines Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!