So summieren und ermitteln Sie den Maximalwert von JS-Arrays
Vorwort
Ich bin im Interview auf ein Problem gestoßen: JS-Array-Summenfunktion. Das erste, was mir in den Sinn kommt, ist Array-Looping. Ich bin jedoch der Meinung, dass der Interviewer, wenn er diese Frage stellt, nicht versuchen darf, diese bekannte Methode zu testen. Damals war ich schlau genug, mir eine rekursive Funktion auszudenken, die die Elemente des Arrays kontinuierlich hinzufügt. Nach langem Ringen konnte ich die Methode jedoch nicht anpassen . Schließlich fragte mich der Interviewer, ob ich jemals Reduce() gesehen hätte, und das tat ich wirklich nicht. Also bin ich zurückgekommen, um die Informationen zu überprüfen. Array.reduce() ist ein neues Attribut, das von ES5 hinzugefügt wurde, und Array.reduceRight() ist ähnlich.
Im Folgenden wird die Methode der Array-Summierung zusammengefasst.
Die gröbste Methode: Schleife, um
Element für Element über eine for-Schleife hinzuzufügen. Schauen Sie sich den Code an:
Array.prototype.sum = function (){ var result = 0; for(var i = 0; i < this.length; i++) { result += this[i]; } return result; }; [1,4,7,2,10].sum(); // 24
Verwenden Sie die Reduzierungsmethode
Mit der Reduzierungsmethode können Sie eine Summenmethode für die Array-Summierung schreiben.
Die Methode „reduce()“ empfängt eine Funktion als Akkumulator. Jeder Wert im Array (von links nach rechts) wird zunächst reduziert und wird schließlich zu einem Wert.
Syntax reduzieren:
array.reduce(callback[, initialValue]);
Die Callback-Funktion akzeptiert 4 Parameter: previousValue (der vom letzten Callback-Aufruf zurückgegebene Wert), currentValue (das Element, das gerade verarbeitet wird ) ), Index (index) und das Array selbst (der erste Parameter des ersten Rückrufs) führen die Funktion für jeden Wert im Array aus.
Der Parameter „initialValue“ ist optional und stellt den Anfangswert dar; wenn der Parameter „initialValue“ angegeben wird, wird er als der zuvor verwendete Wert betrachtet. Wenn er standardmäßig verwendet wird, wird das erste Element des Arrays verwendet Der Anfangswert des vorherigen und der aktuelle werden später verwendet.
Array.prototype.sum = function (){ return this.reduce(function (partial, value){ return partial + value; }) }; [1,4,7,2,10].sum(); // 24
Im Vergleich zur ersten Methode ist die Verwendung der Methode „reduce()“ effizienter.
Um die Effizienz dieser beiden Methoden zu vergleichen, können Sie new Date() vor und nach der Ausführung der Funktion direkt aufrufen, um die Echtzeitzeit zu erhalten und so die Ausführungszeit durch den Zeitunterschied zu vergleichen. Hier wird es keinen Vergleich geben, da die Ausführungsumgebung bei jedem sehr unterschiedlich ist. Das Testergebnis ist, dass die Ausführungszeit der Methode Reduce () kürzer ist.
JS-Array-Summenfunktion und Finden des Maximalwerts im Array
Beispielcode
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>php中文网_js数组求和和最大值方法_php中文网</title> <meta name="keywords" content="站长,网页特效,网页特效代码,js特效,js脚本,脚本,广告代码,php.cn,www.php.cn,php中文网" /> <meta name="description" content="www.php.cn,php中文网,站长必备js特效及广告代码。大量高质量js特效,提供高质量广告代码下载,尽在php中文网" /> </head> <body> <a href="http://www.php.cn/">php中文网<</a>,站长必备的高质量网页特效和广告代码。jb51.net,站长js特效。<hr> <script type="text/javascript"> //求和 Array.prototype.sum = function () { for (var sum = i = 0; i < this.length; i++)sum += parseInt(this[i]); return sum ; }; //求最大值 Array.prototype.maxima = function () { for (var i = 0, maxValue = Number.MIN_VALUE; i < this.length; i++)parseInt(this[i]) > maxValue && (maxValue = this[i]); return maxValue; }; //应用 var arr = [1,21,3,4,22,45,60,7,32]; alert(arr.join("+") + "=" + arr.sum()); alert(arr.join("|") + "中, 最大的数是:" + arr.maxima()); </script> </body> </html>
Das Obige ist der Inhalt von Ich hoffe, dass dieser Artikel allen bei der Verwendung von JavaScript hilfreich ist. Wenn Sie Fragen haben, hinterlassen Sie bitte eine Nachricht zur Diskussion. Der Herausgeber wird Ihnen rechtzeitig antworten.
Weitere Artikel über Methoden zum Summieren und Maximieren von JS-Arrays finden Sie auf der chinesischen PHP-Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Häufig gestellte Fragen und Lösungen für das Ticket-Ticket-Ticket-Ticket in Front-End im Front-End-Entwicklungsdruck ist der Ticketdruck eine häufige Voraussetzung. Viele Entwickler implementieren jedoch ...

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Es gibt kein absolutes Gehalt für Python- und JavaScript -Entwickler, je nach Fähigkeiten und Branchenbedürfnissen. 1. Python kann mehr in Datenwissenschaft und maschinellem Lernen bezahlt werden. 2. JavaScript hat eine große Nachfrage in der Entwicklung von Front-End- und Full-Stack-Entwicklung, und sein Gehalt ist auch beträchtlich. 3. Einflussfaktoren umfassen Erfahrung, geografische Standort, Unternehmensgröße und spezifische Fähigkeiten.

Wie fusioniere ich Array -Elemente mit derselben ID in ein Objekt in JavaScript? Bei der Verarbeitung von Daten begegnen wir häufig die Notwendigkeit, dieselbe ID zu haben ...

JavaScript zu lernen ist nicht schwierig, aber es ist schwierig. 1) Verstehen Sie grundlegende Konzepte wie Variablen, Datentypen, Funktionen usw. 2) Beherrschen Sie die asynchrone Programmierung und implementieren Sie sie durch Ereignisschleifen. 3) Verwenden Sie DOM -Operationen und versprechen Sie, asynchrone Anfragen zu bearbeiten. 4) Vermeiden Sie häufige Fehler und verwenden Sie Debugging -Techniken. 5) Die Leistung optimieren und Best Practices befolgen.

Diskussion über die Realisierung von Parallaxe -Scrolling- und Elementanimationseffekten in diesem Artikel wird untersuchen, wie die offizielle Website der Shiseeido -Website (https://www.shiseeido.co.jp/sb/wonderland/) ähnlich ist ...

Eingehende Diskussion der Ursachen des Unterschieds in der Konsole.log-Ausgabe. In diesem Artikel wird die Unterschiede in den Ausgabeergebnissen der Konsolenfunktion in einem Code analysiert und die Gründe dafür erläutert. � ...

Erforschen Sie die Implementierung der Funktion des Bedien- und Drop-Einstellungsfunktion der Panel ähnlich wie VSCODE im Front-End. In der Front-End-Entwicklung wird VSCODE ähnlich wie VSCODE implementiert ...
