Bedeutung der forEach (Funktion (Tag) in JavaScript
-
05-07-2019 - |
Frage
Ich kam in dem folgende Codefragment in einem CouchDB Buch .
function(doc) {
doc.tags && doc.tags.forEach(function(tag) {
emit(tag, 1);
});
}
Kann erklären jemand wie funktioniert die Funktion (Tag) teilweise funktioniert?
Danke und Gruß,
raj
Lösung
Dies ist ein anonymer Inline-Funktion Ausdruck bezeichnet. Es schafft eine Funktion und gibt Ihnen einen Hinweis darauf, ähnlich wie wenn Sie hatte geschrieben:
function emitTag(tag) {
emit(tag, 1);
}
doc.tags && doc.tags.forEach(emitTag);
Die array.forEach
Methode ruft die gegebene Funktion einmal für jedes der Elemente in array
um. Es ist ein Standardverfahren in ECMAScript Fifth Edition und hat in vielen Browsern seit einiger Zeit, aber nicht JScript (IE). Ich vermute, couchdb kümmert sich um dieses Problem für Sie aber.
Andere Tipps
function(tag) {...}
wird "für jeden" Tag in "doc.tags" mit dem "Tag" Argument übergeben an die Lambda-Funktion in Frage gestellt wird.
forEach
einfach iteriert über Array und Anrufe funktionieren Sie es mit jedem Element übergeben es findet.
Beachten Sie, dass nicht jeder Browser-Unterstützung es, Hilfsfunktion $.forEach
in jQuery da ist, ist es sicherer in Bezug auf die Browser-Unterstützung ist.