Sie könnten die Mindestlänge beider Arrays iterieren und alternative Elemente erstellen und am Ende den Rest drücken.
Lösung für eine beliebige Anzahl von Arrays mit einem Transponierungsalgorithmus und späterem Reduzieren.
Hier ist ein anderer Weg, wie Sie es mit der Destrukturierungsaufgabe machen können
Und hier benutzt es einen richtigen Tail Call
Und nochmal ohne Destrukturierungsaufgabe zu verwenden
Oder eine Kombination aus dem Tail-Call und Ihrem Index - dieser ist der schnellste im Vergleich zu anderen Snippets, die ich zur Verfügung gestellt habe, da er die wenigsten Zuweisungen, die wenigsten Zwischenwerte und daher weniger Garbage Collection nach der Berechnung erstellt - gewinnt / gewinnen / gewinnen
Der Interessierte wird bemerken, dass i
und acc
private APIs sind, die geleakt wurden - dies kann leicht mit Hilfe eines loop
-Helfers behoben werden; Beachten Sie, dass diese Technik auch interleave
stack-safe in einer Umgebung ohne Tail-Call-Optimierung macht
Im Vergleich zu oben erhalten wir also zwei mehr Gewinne, die diesen Gewinn / Gewinn / Gewinn / Gewinn / Gewinn machen
Tags und Links javascript functional-programming ecmascript-6