Estadísticas del código: Función para intercalar los valores de dos arrays en uno - JavaScript

Imágen de perfil
Val: 2.288
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Función para intercalar los valores de dos arrays en uno


JavaScript

Publicado el 30 de Abril del 2021 por Katas (200 códigos)
4.414 visualizaciones desde el 30 de Abril del 2021
Esta función de JavaScript, recibe dos arrays y los intercala entre ellos, devolviendo un solo array con la mezcla de los dos arrays.

1
2
3
4
5
6
7
8
9
a1=[1, 2, 3];
a2=[9, 9, 9];
intercalarDosArrays(a1, a2); // [9, 1, 9, 2, 9, 3]
a1=[1, 2, 3, 4, 5];
a2=[9, 9, 9];
intercalarDosArrays(a1, a2); // [1, 9, 2, 9, 3, 9, 4, 5]
a1=["a", "i", "u"];
a2=["e", "o"];
intercalarDosArrays(a1, a2); // ['a', 'e', 'i', 'o', 'u']


1
let [l, s]=a1.length > a2.length ? [a1, a2] : [a2, a1];
Primeramente obtenemos el array mas largo y mas corto

1
Array.from({length: l.length*2}).map((_, i) => i%2==0 ? l[i/2] : s[Math.ceil(i/2)-1]).filter(el => el);
Array.from({length: l.length*2}) -> creamos un array con el doble de la longitud del array mas largo
map((_, i) -> recorremos cada elemento de ese array, obteniendo el indice
l[i/2] -> si el valor del indice es par, cogemos el valor del array mas largo de la posicion dividida entre dos
s[Math.ceil(i/2)-1] -> si el valor del indices es impar, obtenemos el valor entero superior de la división entre dos
filter(el => el) -> del array resultante, eliminamos los valores undefined

137 visualizaciones durante los últimos 90 días


32
0