Underscore.js es una biblioteca de JavaScript que proporciona muchas funciones útiles que ayudan en la programación en gran medida, como el mapa, el filtro, la invocación, etc., incluso sin utilizar ningún objeto integrado.
La función _.invoke() se usa para realizar ciertas acciones como ordenar, unir, unir con algún símbolo, poner en mayúsculas, etc. los elementos de una array. Llama a la función directamente por su nombre en su lista de argumentos. La función mencionada se aplicará en todos los elementos de la array.
Sintaxis:
_.invoke( list, methodName, *arguments )
Parámetros: esta función acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:
- Lista: este parámetro se utiliza para contener la lista de datos.
- MethodName: este parámetro se utiliza para mantener la condición de prueba.
- Argumentos: este parámetro necesita agregar algunos símbolos entre los elementos.
Valores devueltos: esta función devuelve la lista formada después de aplicarle la función dada.
Pasar la función sort() a la función _.invoke(): La función ._invoke() toma el elemento de la lista uno por uno y realiza la función especificada en los elementos. La función de clasificación ordenará la lista en orden ascendente. La salida contendrá una lista de todas las listas ordenadas.
Ejemplo:
HTML
<html> <head> <title>_.invoke() function</title> <script type="text/javascript" src= "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" > </script> <script type="text/javascript" src= "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js"> </script> </head> <body> <script type="text/javascript"> console.log(_.invoke([[1, 6, 8], [7, 5, 3], [33, 76, 55]], 'sort')); </script> </body> </html>
Producción:
Pasando la función join() a la función _.invoke(): Pase la lista junto con el nombre del método que tiene ‘join’. Luego, los elementos de la lista se concatenarán entre sí. Se puede pasar cualquier número de elementos en la lista.
Ejemplo:
HTML
<html> <head> <title>_.invoke() function</title> <script type="text/javascript" src= "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" > </script> <script type="text/javascript" src= "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js"> </script> </head> <body> <script type="text/javascript"> console.log(_.invoke([[11, 6, 8], [33, 25, 32]], 'join')); </script> </body> </html>
Producción:
Pasar la función toUpperCase() a la función _.invoke(): La función toUpperCase() solo se aplica a los caracteres o strings, no a los números (por razones obvias, los números no están en minúsculas ni en mayúsculas). Necesita pasar la array de strings y la función toUpperCase a la función _.invoke(). Las strings se mostrarán en mayúsculas en la salida.
Ejemplo:
HTML
<html> <head> <title>_.invoke() function</title> <script type="text/javascript" src= "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" > </script> <script type="text/javascript" src= "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js"> </script> </head> <body> <script type="text/javascript"> console.log(_.invoke(['geeks', 'for', 'geeks'], 'toUpperCase')); </script> </body> </html>
Producción:
Manipulación de arrays uniéndolas con símbolos: Une los elementos de una array con diferentes símbolos, caracteres, etc. Une cada elemento usando la misma función join(). En este caso, debe proporcionar tres argumentos, el nombre de la lista, el nombre de la función join() y el símbolo/carácter que debe unirse. El símbolo se insertará entre cada dos elementos.
Ejemplo:
HTML
<html> <head> <title>_.invoke() function</title> <script type="text/javascript" src= "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" > </script> <script type="text/javascript" src= "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore.js"> </script> </head> <body> <script type="text/javascript"> var manyThings = [ ['geeks', 'for', 'geeks'], ['C++', 'C', 'java'], ['HTML', 'CSS', 'JS'] ]; console.log(_.invoke(manyThings, 'join', ' # ')); </script> </body> </html>
Producción: