Underscore.js es una biblioteca de JavaScript que proporciona muchas funciones útiles como el mapa, el filtro, la invocación, etc., incluso sin usar ningún objeto integrado.
La función _.zip() hace coincidir cada array de elementos pasada con el siguiente elemento de array pasado. Se utiliza cuando hay más de una array homogénea (un tipo de elementos como números, obras, caracteres especiales, etc.) para conectar toda la array haciendo coincidir cada elemento con su elemento correspondiente en la siguiente array. Puede tener una serie de arrays como sus parámetros. El resultado contendrá la misma cantidad de arrays que la cantidad de elementos en la array más grande.
Sintaxis:
_.zip( *arrays )
Parámetros: esta función acepta arrays de un solo parámetro que contienen elementos de array.
Valor devuelto: Devuelve los arrays resultantes.
Pasar arrays homogéneas a la función _.zip(): La función ._zip() acepta el elemento de la primera array y crea los primeros elementos de la array resultante. Luego, toma los elementos de la segunda array y los mapea como la segunda propiedad de ese primer elemento. Esto se hace hasta que se cubren todos los primeros elementos de la array. Luego forma el segundo elemento de la array resultante. Funciona hasta cubrir todos los elementos.
Ejemplo:
<!DOCTYPE html> <html> <head> <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" > </script> </head> <body> <script type="text/javascript"> console.log(_.zip(['Akash', 'Amit', 'Aviral'], [01, 02, 03], ['pass', 'pass', 'fail']) ); </script> </body> </html>
Producción:
Pasar un arreglo heterogéneo a la función _.zip(): Pasar un arreglo heterogéneo, es decir, que contenga todo tipo de elementos en un solo arreglo. La función _.zip() funcionará de la misma manera. El procedimiento es el mismo pero el resultado será diferente. Ahora formará arrays homogéneas en el resultado.
Ejemplo:
<!DOCTYPE html> <html> <head> <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" > </script> </head> <body> <script type="text/javascript"> console.log(_.zip(['Akash', 02, 'pass'], ['Amit', 02, 'pass'], ['Aviral', 03, 'fail']) ); </script> </body> </html>
Producción:
Mapear diferentes tipos de elementos en la función _.zip(): Pasar los diferentes tipos de elementos a la función _.zip. Esta vez el proceso será el mismo pero el resultado no será una array homogénea sino una array heterogénea.
Ejemplo:
<!DOCTYPE html> <html> <head> <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" > </script> </head> <body> <script type="text/javascript"> console.log(_.zip(['Akash', 01, 5999], ['*', 02, 'pass'], ['!', '@', 3222]) ); </script> </body> </html>
Producción:
Pasar arrays de tamaño desigual a la función _.zip(): Pasar arrays de tamaño desigual pero esto causará valores indefinidos en las arrays resultantes. Esto se debe a que la cantidad de elementos que encontrarán sus coincidencias en el resto de las arrays se considerará como una sola array, pero si no encuentran ninguna coincidencia, tendrán ‘indefinido’ en su lugar. Pero esto funcionará sin problemas y no dará ningún error.
Ejemplo:
<!DOCTYPE html> <html> <head> <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" > </script> </head> <body> <script type="text/javascript"> console.log(_.zip(['Akash', 01, 5999], ['*', 02, 'pass'], ['!', '@', 3222], ['?', '>', '<', ';']) ); </script> </body> </html>
Producción:
Nota: estos comandos no funcionarán en la consola de Google o en Firefox, ya que estos archivos adicionales deben agregarse y no se agregaron. Por lo tanto, agregue los enlaces dados a su archivo HTML y luego ejecútelos.
<script type="text/javascript" src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"> </script>