javascript - Comment alterner élégamment une itération sur deux tableaux?
phpcn_u1582
phpcn_u1582 2017-05-19 10:41:15
0
2
682

Langage restreint : Javascript

Par exemple, plusieurs stands d'activités seront insérés dans une liste de produits.

Par exemple, il y a deux tableaux A et B de longueurs variables. Nous avons besoin de 6 éléments de tableau A + 1 élément de tableau B pour être disposés comme ceci

.

Par exemple, encore plus de tableaux sont disposés en alternance

Ce à quoi je peux penser, c'est convertir ces tableaux en tableaux bidimensionnels comme la pagination, puis utiliser une boucle pour les combiner en un tableau, et enfin parcourir.

Y a-t-il une meilleure façon

phpcn_u1582
phpcn_u1582

répondre à tous(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), []);

Quelle élégance ? . .

巴扎黑
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
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal