suchen
HeimWeb-Frontendjs-TutorialArray -Extras in JavaScript

Array Extras in JavaScript

JavaScript -Arrays sind in vielen Programmiersprachen eine grundlegende Datenstruktur, und JavaScript ist keine Ausnahme. Um viele Details der Arbeit mit Arrays zu vereinfachen, bietet JavaScript eine Reihe von Funktionen, die als Array -Erweiterungsfunktionen bezeichnet werden. In diesem Artikel werden verschiedene Array -Erweiterungsfunktionen und deren Verwendung eingeführt.

Schlüsselpunkte

  • Array -Erweiterungsfunktionen in JavaScript sind Funktionen, die viele Details der Arbeit mit Arrays vereinfachen und die Lesbarkeit des Codes verbessern, indem komplexe Schleifen durch Funktionsaufrufe ersetzt werden. Dazu gehören Methoden wie forEach(), map(), filter(), every(), some(), reduce(), reduceRight(), indexOf(), lastIndexOf(),
  • und
  • . forEach() Die
  • -Methode beseitigt die Notwendigkeit von Schleifen- und Array -Index -Notationen, indem sie in jedem Element im Array eine Rückruffunktion aufruft. Es kann jedoch eine Leistungsverschlechterung verursachen, da die Funktion für jedes Element aufgerufen wird. map() Die Funktion forEach() filter() ähnelt
  • , gibt jedoch ein Array zurück, das die von der Rückruffunktion zurückgegebenen Werte enthält. Die
  • -Methode gibt auch ein Array von Werten zurück, basiert jedoch auf dem Rückgabewert der Rückruffunktion, die einen booleschen Wert zurückgeben sollte. reduce() Das reduceRight() indexOf() Methode verarbeitet jedes Element im Array, berechnet einen einzelnen Wert, während lastIndexOf() genauso funktioniert, aber am Ende des Arrays beginnt. Die
  • -Methode sucht nach bestimmten Elementen im Array, und
macht auch dasselbe, startet aber die Suche vom Ende des Arrays.

Hintergrund

for

Fast alle Array -Operationen werden durchgeführt, indem jedes Array -Element nacheinander durchquert wird. Der folgende Code verwendet beispielsweise eine
var foo = ["a", "b", "c", "d"];

for (var i = 0, len = foo.length; i < len; i++) {
  console.log(foo[i]);
}
-Sufe, um alle Elemente eines Arrays zur Debug -Konsole aufzuzeichnen.

Erstens und vor allem sollten Sie verstehen, dass das vorherige Beispiel einen vollständig gültigen JavaScript -Code ist. Wenn Sie jedoch mehrere komplexe Schleifen haben, können die Verfolgung von Variablen mühsam werden. Mit Array -Erweiterungsfunktionen können wir die gesamte Schleife durch Funktionsaufrufe ersetzen, die normalerweise die Lesbarkeit des Codes verbessern können. Schauen wir uns nun verschiedene Array -Erweiterungsfunktionen an.

foreach ()

forEach() Wie bei vielen Array-Erweiterungsfunktionen ist die -Methode eine Funktion höherer Ordnung forEach()-eine Funktion, die eine andere Funktion als Parameter empfängt. forEach() Anstatt Array -Elemente zu durchqueren, wird die Rückruffunktion in jedem Element in Sequenz aufgerufen. Die Rückruffunktion akzeptiert drei Parameter - das aktuelle Array -Element, den Array -Index und das Array selbst. Im folgenden Code wurde das ursprüngliche Beispiel neu geschrieben, um die

-Methode zu verwenden.
var foo = ["a", "b", "c", "d"];

for (var i = 0, len = foo.length; i < len; i++) {
  console.log(foo[i]);
}

Beachten Sie, dass die Verwendung von forEach() die Notwendigkeit von Schleifen- und Array -Einweisnotation beseitigt. Da JavaScript Funktionen auf Funktionsebene verwendet, bietet die forEach() -Rallback-Funktion einen neuen Bereich, der die Wiederverwendung von Variablennamen ermöglicht. Der einzige Nachteil ist der Leistungsverlust, der durch Aufrufen der Funktion für jedes Element im Array entstanden ist. Glücklicherweise ist dieser Verlust oft vernachlässigbar. Beachten Sie auch, dass Sie nach der Rückruffunktion einen optionalen Parameter an forEach() übergeben können. Wenn vorhanden, definiert der zweite Parameter den in der Rückruffunktion verwendeten this -Werwert.

map ()

Die

map() -Funktion ist fast die gleiche wie forEach(). Der einzige Unterschied besteht darin, dass map() ein Array zurückgibt, das die von der Rückruffunktion zurückgegebenen Werte enthält. Der folgende Code verwendet beispielsweise map(), um das Quadratwurzel jedes Elements im Eingabearray zu berechnen. Geben Sie dann das Ergebnis als Array zurück und zeigen Sie es an. Beachten Sie auch, dass Array-Erweiterungsfunktionen mit integrierten JavaScript-Funktionen wie Math.sqrt() kompatibel sind.

["a", "b", "c", "d"].forEach(function(element, index, array) {
  console.log(element);
});

filter ()

Wie forEach() und map() akzeptiert die Methode filter() eine Rückruffunktion und einen optionalen this -Werwert. Und wie map() gibt filter() ein Array von Werten basierend auf dem Rückgabewert der Rückruffunktion zurück. Die Differenz besteht darin, dass die filter() -Rallback -Funktion einen Booleschen Wert zurückgeben sollte. Wenn der Rückgabewert zut ist, fügen Sie das Array -Element dem Ergebnisarray hinzu. Beispielsweise beseitigt der folgende Code jedes Element im Originalarray, das nicht mit dem Buchstaben X beginnt. In diesem Beispiel wird der reguläre Ausdruck (als this -Wergentum bestanden) für jedes Array -Element getestet.

var sqrts = [1, 4, 9, 16, 25].map(Math.sqrt);

console.log(sqrts);
// 显示 "[1, 2, 3, 4, 5]"

jeder () und einige ()

In den Funktionen

every() und some() werden auch Rückruffunktionen für jedes Array -Element ausgeführt. Wenn jede Rückruffunktion true zurückgibt, gibt every() true zurück, sonst falsch. Wenn mindestens eine Rückruffunktion true zurückgibt, gibt some() true zurück. Im folgenden Beispiel werden every() und some() verwendet, um zu testen, ob das Array -Element kleiner als fünf ist. In diesem Fall gibt every() false zurück, da das letzte Element fünf entspricht. some() gibt jedoch true zurück, da mindestens ein Element weniger als fünf ist. Beachten Sie, dass die Index- und Array -Parameter existieren, aber in der Rückruffunktion weggelassen wurden, da sie in diesem Beispiel nicht benötigt werden.

["x", "abc", "x1", "xyz"].filter(RegExp.prototype.test, /^x/);

record () und reduzierter ()

Die Methode

reduce() verarbeitet jedes Element im Array (beginnend von Anfang an) und berechnet einen einzelnen Wert. reduce() Bevorzugen Sie die Rückruffunktion und den optionalen Anfangswert als Parameter. Wenn kein Anfangswert besteht, wird das erste Array -Element verwendet. reduce() Die Rückruffunktion unterscheidet sich von den anderen Rückruffunktionen, die wir bisher gesehen haben, als sie vier Parameter akzeptiert - den vorherigen Wert, den aktuellen Wert, den Index und das Array. Ein häufiges Beispiel für reduce Operationen ist das Hinzufügen aller Werte eines Arrays. Das folgende Beispiel macht genau das. Wenn die Rückruffunktion zum ersten Mal aufgerufen wird, entspricht previous gleich 1 und current gleich 2. In nachfolgenden Aufrufen sammelt sich die Summe auf den Endwert 15.

var foo = ["a", "b", "c", "d"];

for (var i = 0, len = foo.length; i < len; i++) {
  console.log(foo[i]);
}
Die Methode

reduceRight() funktioniert genauso wie reduce(), außer dass der Prozess vom Ende des Arrays beginnt und sich zu Beginn bewegt.

indexof () und lastIndexof ()

Die Methode

indexOf() sucht nach einem bestimmten Element im Array und gibt den Index der ersten Übereinstimmung zurück. Wenn keine Übereinstimmung gefunden wird, gibt indexOf() -1 zurück. indexOf() Bitte das Element, nach dem er als erster Parameter gesucht werden soll. Der zweite optionale Parameter gibt den Startindex der Suche an. Beispielsweise sucht der folgende Code nach den ersten beiden Vorkommen des Buchstabens Z im Array. Um das zweite Erscheinen zu finden, müssen wir nur das erste Erscheinungsbild finden und nach ihm erneut suchen.

["a", "b", "c", "d"].forEach(function(element, index, array) {
  console.log(element);
});
Die

lastIndexOf() -Methode funktioniert genauso, außer dass sie vom Ende des Arrays gesucht wird.

Schlussfolgerung

Verwenden Sie Array -Erweiterungsfunktionen, um präzise und löschliche Code zu schreiben. Leider unterstützen einige ältere Browser diese Methoden nicht. Sie können diese Methoden jedoch erkennen, indem Sie das Objekt Array.prototype (d. H. Array.prototype.forEach) überprüfen. Wenn eine Methode fehlt, können Sie problemlos Ihre eigene Implementierung bereitstellen.

(Der FAQ-Teil sollte hier hinzugefügt werden. Der Inhalt entspricht dem FAQ-Teil im Eingangstext, aber entsprechende pseudooriginale Modifikationen sind erforderlich, z. usw.)

Das obige ist der detaillierte Inhalt vonArray -Extras in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
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
JavaScript -Datentypen: Gibt es einen Unterschied zwischen Browser und NodeJs?JavaScript -Datentypen: Gibt es einen Unterschied zwischen Browser und NodeJs?May 14, 2025 am 12:15 AM

JavaScript -Kerndatentypen sind in Browsern und Knoten.js konsistent, werden jedoch unterschiedlich als die zusätzlichen Typen behandelt. 1) Das globale Objekt ist ein Fenster im Browser und global in node.js. 2) Node.js 'eindeutiges Pufferobjekt, das zur Verarbeitung von Binärdaten verwendet wird. 3) Es gibt auch Unterschiede in der Leistung und Zeitverarbeitung, und der Code muss entsprechend der Umgebung angepasst werden.

JavaScript -Kommentare: Eine Anleitung zur Verwendung // und / * * /JavaScript -Kommentare: Eine Anleitung zur Verwendung // und / * * /May 13, 2025 pm 03:49 PM

JavaScriptUSESTWOTYPESOFCOMMENMENTEN: Einzelzeilen (//) und Multi-Linie (//). 1) Verwendung // Forquicknotesorsingle-Linexplanationen.2 Verwendung // ForlongerExPlanationsCompomentingingoutblocks-

Python gegen JavaScript: Eine vergleichende Analyse für EntwicklerPython gegen JavaScript: Eine vergleichende Analyse für EntwicklerMay 09, 2025 am 12:22 AM

Der Hauptunterschied zwischen Python und JavaScript sind die Typ -System- und Anwendungsszenarien. 1. Python verwendet dynamische Typen, die für wissenschaftliche Computer- und Datenanalysen geeignet sind. 2. JavaScript nimmt schwache Typen an und wird in Front-End- und Full-Stack-Entwicklung weit verbreitet. Die beiden haben ihre eigenen Vorteile bei der asynchronen Programmierung und Leistungsoptimierung und sollten bei der Auswahl gemäß den Projektanforderungen entschieden werden.

Python vs. JavaScript: Auswählen des richtigen Tools für den JobPython vs. JavaScript: Auswählen des richtigen Tools für den JobMay 08, 2025 am 12:10 AM

Ob die Auswahl von Python oder JavaScript vom Projekttyp abhängt: 1) Wählen Sie Python für Datenwissenschafts- und Automatisierungsaufgaben aus; 2) Wählen Sie JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung. Python ist für seine leistungsstarke Bibliothek in der Datenverarbeitung und -automatisierung bevorzugt, während JavaScript für seine Vorteile in Bezug auf Webinteraktion und Full-Stack-Entwicklung unverzichtbar ist.

Python und JavaScript: Verständnis der Stärken der einzelnenPython und JavaScript: Verständnis der Stärken der einzelnenMay 06, 2025 am 12:15 AM

Python und JavaScript haben jeweils ihre eigenen Vorteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1. Python ist leicht zu erlernen, mit prägnanter Syntax, die für Datenwissenschaft und Back-End-Entwicklung geeignet ist, aber eine langsame Ausführungsgeschwindigkeit hat. 2. JavaScript ist überall in der Front-End-Entwicklung und verfügt über starke asynchrone Programmierfunktionen. Node.js macht es für die Entwicklung der Vollstapel geeignet, die Syntax kann jedoch komplex und fehleranfällig sein.

JavaScripts Kern: Ist es auf C oder C aufgebaut?JavaScripts Kern: Ist es auf C oder C aufgebaut?May 05, 2025 am 12:07 AM

JavaScriptisnotbuiltoncorc; Es ist angehört, dass sich JavaScriptWasdedeSthatrunsonGineoFtencninc.

JavaScript-Anwendungen: Von Front-End bis Back-EndJavaScript-Anwendungen: Von Front-End bis Back-EndMay 04, 2025 am 12:12 AM

JavaScript kann für die Entwicklung von Front-End- und Back-End-Entwicklung verwendet werden. Das Front-End verbessert die Benutzererfahrung durch DOM-Operationen, und die Back-End-Serveraufgaben über node.js. 1. Beispiel für Front-End: Ändern Sie den Inhalt des Webseitentextes. 2. Backend Beispiel: Erstellen Sie einen Node.js -Server.

Python vs. JavaScript: Welche Sprache sollten Sie lernen?Python vs. JavaScript: Welche Sprache sollten Sie lernen?May 03, 2025 am 12:10 AM

Die Auswahl von Python oder JavaScript sollte auf Karriereentwicklung, Lernkurve und Ökosystem beruhen: 1) Karriereentwicklung: Python ist für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet, während JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung geeignet ist. 2) Lernkurve: Die Python -Syntax ist prägnant und für Anfänger geeignet; Die JavaScript -Syntax ist flexibel. 3) Ökosystem: Python hat reichhaltige wissenschaftliche Computerbibliotheken und JavaScript hat ein leistungsstarkes Front-End-Framework.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heißer Artikel

Nordhold: Fusionssystem, erklärt
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!