Ich bin kürzlich auf eine Interviewfrage gestoßen, in der nach verschiedenen Möglichkeiten für die Iteration über ein JavaScript-Array-Objekt gefragt wurde. Die Eingabeaufforderung schien zunächst unkompliziert, da von mir erwartet wurde, dass ich einige Beispielcode-Schnipsel bereitstelle. Da mich diese Frage jedoch faszinierte, beschloss ich, mich etwas eingehender mit den einzelnen Methoden zu befassen und nicht nur zu untersuchen, wie man sie verwendet, sondern auch, wann und warum man sich für einen Ansatz gegenüber einem anderen entscheiden sollte.
In diesem Artikel werde ich Sie durch verschiedene Methoden zum Durchlaufen von Arrays in JavaScript führen und deren Unterschiede, Vorteile und Anwendungsfälle hervorheben.
for-Schleife
Vorteile:
Bevor die for...of-Schleife eingeführt wurde, war die traditionelle for-Schleife die Standardmethode für die Array-Iteration. Es kann jedoch fehleranfällig sein, wie zum Beispiel, dass der Index bei 1 statt bei 0 beginnt oder irrtümlicherweise arr.length anstelle von arr.length - 1 verwendet wird. Wie MDN vorschlägt: „ist es normalerweise am besten, es für... zu verwenden. oder wenn du kannst."
Wann zu verwenden:
Wenn Sie die vollständige Kontrolle über die Iteration benötigen, z. B. um Iterationen zu überspringen oder in umgekehrter Reihenfolge zu iterieren.
Wenn Sie während der Iteration sowohl den Index als auch den Wert benötigen.
für...von
Vorteile:
Wann zu verwenden:
Wenn Sie nur mit Werten arbeiten müssen und keinen Zugriff auf die Indizes benötigen.
Array.prototype.map()
Vorteile:
Wann zu verwenden:
Wenn Sie eine Funktion auf jedes Element eines Arrays anwenden möchten und das Ergebnis als neues Array benötigen.
Array.prototype.forEach()
Vorteile:
Wann zu verwenden:
Wenn Sie eine Funktion auf jedes Element eines Arrays anwenden möchten, aber kein neues Array zurückgegeben werden muss.
Array.prototype.entries()
Vorteile:
Wann zu verwenden:
Wenn Sie sowohl auf die Indizes als auch auf die Werte von Array-Elementen zugreifen müssen.
Array.prototype.keys()
Vorteile:
Wann zu verwenden:
Wenn Sie einen Iterator benötigen, der nur die Indizes der Array-Elemente bereitstellt.
Array.prototype.values()
Vorteile:
Wann zu verwenden:
Wenn Sie einen Iterator benötigen, der nur die Werte der Array-Elemente bereitstellt.
Was sind Array-Iteratoren?:
Array.prototype.entries(), Array.prototype.keys() und Array.prototype.values() geben neue Array-Iteratorobjekte zurück. Mit diesen Iteratoren können Sie eine Array-ähnliche Sammlung Element für Element durchlaufen. Sie verfügen über eine next()-Methode, die den nächsten Wert in der Sequenz bereitstellt, die bei Bedarf aufgerufen werden kann und so Speicherplatz spart.
Hier ist ein Beispiel mit Einträgen():
const arr = ['a', 'b', 'c']; const iterator = arr.entries(); console.log(iterator.next()); // { value: [0, 'a'], done: false } console.log(iterator.next()); // { value: [1, 'b'], done: false } console.log(iterator.next()); // { value: [2, 'c'], done: false } console.log(iterator.next()); // { value: undefined, done: true }
Um ehrlich zu sein, waren mir einige Details und Einsatzmöglichkeiten dieser Methoden nicht ganz bewusst, daher war es sehr wichtig, diese Interviewfrage zu beantworten und mein Verständnis zu vertiefen. Unabhängig davon, ob Sie mit einfachen Schleifen oder fortgeschritteneren Techniken der funktionalen Programmierung arbeiten, kann die Kenntnis dieser Methoden die Effizienz und Lesbarkeit Ihres Codes erheblich verbessern.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3