Heim >Web-Frontend >js-Tutorial >JavaScript-Programm zum Ermitteln des Bereichsdurchschnitts im Array

JavaScript-Programm zum Ermitteln des Bereichsdurchschnitts im Array

WBOY
WBOYnach vorne
2023-09-15 11:09:081302Durchsuche

JavaScript 程序求数组中的范围平均值

Angesichts einer Reihe von Zahlen und eines Bereichs besteht das Ziel darin, den Durchschnitt aller Zahlen im Bereich zu berechnen. Dieses Problem kann auf viele Arten gelöst werden, aber in diesem Tutorial werden wir eine einfache, aber effektive Lösung mit JavaScript untersuchen. Wir werden das Problem zunächst detaillierter definieren und ein Beispiel dafür geben, wie die Funktion funktionieren soll. Anschließend erläutern wir die Lösung Schritt für Schritt mit klaren Erklärungen und Codeausschnitten. Am Ende dieses Tutorials verfügen Sie über umfassende Kenntnisse darüber, wie Sie ein JavaScript-Programm schreiben, das den Durchschnitt eines Bereichs in einem Array berechnet. Also fangen wir an!

Bevor wir beginnen, definieren wir, was „durchschnittlich“ bedeutet. In der Mathematik wird der Durchschnitt (auch Mittelwert genannt) berechnet, indem alle Werte einer Zahlenmenge addiert und die Summe dann durch die Anzahl der Werte dividiert wird. Im Kontext eines Arrays ist der Mittelwert eines Wertebereichs der Durchschnitt aller Werte im Bereich.

Problemstellung

Angesichts einer Reihe von Zahlen und eines Bereichs bestehend aus zwei Zahlen besteht das Ziel darin, den Durchschnitt aller Zahlen im Bereich zu berechnen. Der Bereich ist inklusiv, d. h. er sollte die erste und letzte Zahl im Bereich umfassen. Die Funktion sollte als Eingabe ein Array und einen Bereich annehmen und den Durchschnitt der Zahlen im Bereich ausgeben. Wenn das Eingabearray leer ist, sollte die Funktion null zurückgeben. Die Funktion sollte auch Null zurückgeben, wenn der Bereich ungültig ist (d. h. die erste Zahl ist größer als die zweite Zahl). Die Ausgabe sollte eine Gleitkommazahl mit zwei Nachkommastellen sein.

Lassen Sie uns dies anhand einiger Beispiele verstehen -

Beispiel 1

Input: Array: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
   Range: [3, 7]
Output: Mean of range [3, 4, 5, 6, 7] is 5.00

In Beispiel 1 haben wir ein Array von Zahlen [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] und einen Bereich [3, 7]. Der Durchschnitt des Bereichs [3, 4, 5, 6, 7] beträgt 5,00, daher sollte die Ausgabe 5,00 sein.

Beispiel 2

Input: Array: [2, 4, 6, 8, 10, 12]
   Range: [1, 5]
Output: Mean of range [2, 4, 6, 8, 10] is 6.00

In Beispiel 2 haben wir ein Array von Zahlen [2, 4, 6, 8, 10, 12] und einen Bereich [1, 5]. Der Durchschnitt des Bereichs [2, 4, 6, 8, 10] beträgt 6,00, daher sollte die Ausgabe 6,00 sein.

Beispiel 3

Input: Array: [3, 5, 7, 9, 11, 13]
   Range: [7, 3]
Output: null

In Beispiel 3 ist der Bereich [7, 3] ungültig, da die erste Zahl größer als die zweite Zahl ist, daher sollte die Ausgabe null sein.

Beispiel 4

Input: Array: []
   Range: [1, 5]
Output: null

In Beispiel 4 ist das Eingabearray leer, daher sollte auch die Ausgabe leer sein.

Lassen Sie uns nun den Algorithmus für die obige Problemstellung verstehen.

Algorithmus

Schritt 1 – Definieren Sie die Funktion „meanInRange“, die zwei Parameter akzeptiert: Array „arr“ und Bereich „range“.

Schritt 2 – Überprüfen Sie, ob die Länge des Eingabearrays „arr“ Null ist. Wenn ja, wird null zurückgegeben.

Schritt 3 - Zerlegen Sie den Array-Bereich „range“ in zwei Variablen „start“ und „end“.

Schritt 4 – Überprüfen Sie, ob der Wert von „Start“ größer als „Ende“ ist. Wenn ja, wird null zurückgegeben.

Schritt 5 – Verwenden Sie die Methode „slice“, um ein Unterarray aus dem Eingabearray „arr“ zu extrahieren, das nur die Elemente zwischen dem Startindex und dem Endindex des angegebenen Bereichs enthält.

Schritt 6 – Berechnen Sie die Summe aller Elemente im Subarray mit der „reduce“-Methode.

Schritt 7 – Teilen Sie die Summe durch die Länge des Subarrays, um den Durchschnitt zu erhalten.

Schritt 8 – Gibt den Durchschnitt als auf zwei Dezimalstellen formatierte Zeichenfolge zurück, zusammen mit einer Meldung, die den zur Berechnung des Durchschnitts verwendeten Wertebereich angibt.

Schritt 9 – Beenden Sie die Funktion.

Lassen Sie uns nun diesen Algorithmus anhand eines Beispiels seiner Implementierung mithilfe von JavaScript verstehen.

Beispiel

In dieser Implementierung definieren wir eine Funktion „meanInRange“, die das Array „arr“ und den Bereich „range“ als Eingabe akzeptiert. Die Funktion prüft zunächst, ob das Eingabearray leer oder der Bereich ungültig ist, und gibt null zurück, wenn eine der Bedingungen wahr ist. Andernfalls wird das Eingabearray zerlegt, um den Bereich zu erhalten, mit „reduce“ die Summe der Zahlen im Bereich berechnet und der Durchschnitt berechnet. Abschließend protokolliert die Funktion den auf zwei Dezimalstellen gerundeten Durchschnitt mithilfe von „console.log“ in der Konsole.

Wir rufen dann die Funktion „meanInRange“ mit verschiedenen Eingabearrays und -bereichen auf, um ihre Funktionalität zu testen und die Ausgabe auf der Konsole auszugeben.

function meanInRange(arr, range) {
   if (arr.length === 0) {
      return null; // return null if the input array is empty
   }
   const [start, end] = range;
   if (start > end) {
      return null; // return null if the range is invalid
   }
   const rangeArr = arr.slice(start - 1, end); // slice the array to get the range
   const sum = rangeArr.reduce((acc, num) => acc + num, 0); // calculate the sum
   const mean = sum / rangeArr.length; // calculate the mean
   // return the mean rounded to two decimal places
   return `Mean of range [${rangeArr}] is ${mean.toFixed(2)}`;
}
// Example usage:
console.log(meanInRange([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [3, 7])); // should output "Mean of range [3,4,5,6,7] is 5.00"
console.log(meanInRange([2, 4, 6, 8, 10, 12], [1, 5])); // should output "Mean of range [2,4,6,8,10] is 6.00"
console.log(meanInRange([3, 5, 7, 9, 11, 13], [7, 3])); // should output "null"
console.log(meanInRange([], [1, 5])); // should output "null"

Fazit

In diesem Tutorial haben wir untersucht, wie man mit JavaScript den Durchschnitt einer Reihe von Werten in einem Array ermittelt. Wir diskutieren die Problemstellung und stellen Algorithmen und JavaScript-Programme zur Verfügung, die das Problem lösen. Wir haben auch mehrere Anwendungsbeispiele kennengelernt und erfahren, wie mit Grenzfällen wie leeren Arrays oder ungültigen Bereichen umgegangen wird. Wenn Sie diesem Ansatz folgen, können Sie in einem JavaScript-Programm problemlos den Durchschnitt einer Reihe von Werten innerhalb eines Arrays berechnen.

Das obige ist der detaillierte Inhalt vonJavaScript-Programm zum Ermitteln des Bereichsdurchschnitts im Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen