javascript - Wie kann man elegant abwechselnd über zwei Arrays iterieren?
phpcn_u1582
phpcn_u1582 2017-05-19 10:41:15
0
2
706

Eingeschränkte Sprache: Javascript

Zum Beispiel werden mehrere Aktivitätsgruben in eine Produktliste eingefügt.

Zum Beispiel gibt es zwei Arrays A und B mit variablen Längen. Wir benötigen 6 A-Array-Elemente + 1 B-Array-Element, um so angeordnet zu werden

Zum Beispiel werden noch mehr Arrays abwechselnd angeordnet

Ich kann mir vorstellen, diese Arrays wie Paging in zweidimensionale Arrays umzuwandeln, sie dann mithilfe einer Schleife zu einem Array zu kombinieren und schließlich zu durchlaufen.

Gibt es einen besseren Weg

phpcn_u1582
phpcn_u1582

Antworte allen(2)
phpcn_u1582
var a = [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5],
    b = [11,22,33,44,55];
    
a.reduce((acc,ele,idx) => ((idx + 1) % 3 ? acc.push(ele) : acc.push(ele, b.shift()), acc), []);

优雅么。。。

巴扎黑
export function join<T>(first: T[], second: T[], firstSize: number, secondSize: number): T[] {
    let out: T[] = []
    let i = 0
    for (; firstSize * i < first.length && secondSize * i < second.length; i++) {
        out = out.concat(
            first.slice(firstSize * i, firstSize),
            second.slice(secondSize * i, secondSize),
        )
    }
    out = out.concat(first.slice(firstSize * i), second.slice(secondSize * i))
    return out
}
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage