Heim > Web-Frontend > js-Tutorial > Wie finde ich die Zahl in einem Array, die einem gegebenen Wert am nächsten kommt?

Wie finde ich die Zahl in einem Array, die einem gegebenen Wert am nächsten kommt?

Linda Hamilton
Freigeben: 2024-11-03 12:30:02
Original
230 Leute haben es durchsucht

How to Find the Nearest Number in an Array to a Given Value?

Bestimmen der nächsten Zahl in einem Array

Angenommen, Sie haben einen numerischen Wert im Bereich von -1000 bis 1000 und ein Array mit ganzen Zahlen, z als:

[2, 42, 82, 122, 162, 202, 242, 282, 322, 362]
Nach dem Login kopieren

Ihre Aufgabe besteht darin, die angegebene Zahl so zu ändern, dass sie mit der nächsten Zahl aus dem Array übereinstimmt. Wenn Ihre angegebene Zahl beispielsweise 80 ist, sollte sie auf 82 angepasst werden.

Lösung:

Um das gewünschte Ergebnis zu erzielen, können wir die Funktion „reduce()“ nutzen. Methode, um die Zahl im Array zu finden, die unserer Zielzahl am nächsten kommt. Die Methode „reduce()“ verwendet eine Funktion und einen anfänglichen Akkumulatorwert als Argumente, durchläuft das Array und wendet die Funktion auf jedes Element und den Akkumulator an.

Hier ist eine Beispielimplementierung in ES5-JavaScript:

<code class="js">var counts = [4, 9, 15, 6, 2],
  goal = 5;

var closest = counts.reduce(function (prev, curr) {
  return Math.abs(curr - goal) < Math.abs(prev - goal) ? curr : prev;
});

console.log(closest); // Output: 6</code>
Nach dem Login kopieren

In diesem Beispiel berechnet die Methode Reduce() die absolute Differenz zwischen jedem Array-Element und der Zielzahl (5). Anschließend vergleicht es die absoluten Differenzen und ordnet das Element mit der kleinsten Differenz der nächstliegenden Variablen zu. Die nächstgelegene Variable enthält den Wert 6, was die Zahl ist, die 5 im Array am nächsten kommt.

Das obige ist der detaillierte Inhalt vonWie finde ich die Zahl in einem Array, die einem gegebenen Wert am nächsten kommt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage