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, las invocaciones, etc., incluso sin utilizar ningún objeto integrado.
La función _.where() se usa para encontrar todos los elementos que coincidan con la condición de búsqueda. Suponga que busca todos los detalles de los estudiantes de una clase y luego aplica la función _.where() a la lista de todas las secciones y pasa la condición como el nombre de la sección. Entonces, se mostrarán los nombres de todos los estudiantes de esa sección específica.
Sintaxis:
_.where( list, [predicate], [context] )
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.
- Predicado: este parámetro se utiliza para mantener la condición de prueba.
- Contexto: el texto que debe mostrarse.
Valores devueltos: esta función devuelve una array que contiene todos los elementos que coinciden con la condición dada junto con sus detalles completos.
Diferencia entre la función _.findwhere() y _.where(): ambas funciones toman un nombre de array y la propiedad para coincidir, pero la función _.where() muestra todas las coincidencias, mientras que la función _.findwhere) coincide solo con la primera juego.
Pasar una array a la función _.where(): La función ._where() toma el elemento de la lista uno por uno y coincide con la condición especificada en los detalles de los elementos. Verificará aquellos elementos que tendrán ‘verdadero’ en la propiedad ‘hasLong’. Después de recorrer y verificar todos los elementos, la función _.where() finaliza. Se mostrará la array de todos los elementos con esta propiedad.
Ejemplo:
HTML
<html> <head> <title>_.where() 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 people = [ {"name": "sakshi", "hasLong": "false"}, {"name": "aishwarya", "hasLong": "true"}, {"name": "akansha", "hasLong": "true"}, {"name": "preeti", "hasLong": "true"} ] console.log(_.where(people, {hasLong: "true"})); </script> </body> </html>
Producción:
Pasar una lista de elementos con una serie de propiedades a la función _.where(): en primer lugar, declarar la lista completa con todas las propiedades de cada elemento mencionado y luego pasar el nombre de la array junto con la propiedad sobre la base de la cual debe coincidir los elementos a la función _.where(). Recorrerá toda la lista y mostrará los detalles de todos los elementos que coincidan con la condición dada.
Ejemplo:
HTML
<html> <head> <title>_.where() 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 goal = [ { "category" : "education", "title" : "harry University", "value" : 50000, "id":"1" }, { "category" : "traveling", "title" : "tommy University", "value" : 50000, "id":"2" }, { "category" : "education", "title" : "jerry University", "value" : 50000, "id":"3" }, { "category" : "business", "title" : "Charlie University", "value" : 50000, "id":"4" } ] console.log(_.where(goal, {category: "education"})); </script> </body> </html>
Producción:
Pasar una array que tiene números como una de sus propiedades a la función _.where(): Declare la array (aquí la array es ‘usuarios’) luego elija una condición en la que debe verificar como ‘id’ que tiene números en sus detalles y finalmente console.log la respuesta final. El resultado final contendrá todos los elementos que coincidan.
Ejemplo:
HTML
<html> <head> <title>_.where() 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 users = [{id: 1, name: "harry"}, {id: 2, name: "jerry"}, {id: 2, name: "jack"}]; console.log(_.where(users, {id:2})); </script> </body> </html>
Producción:
Función _.where() como función _.findwhere(): La función _.where() también puede funcionar como función _.findwhere() bajo algunas condiciones. Como si solo hubiera uno de esos elementos en la array que coincidiera con la condición dada. Como aquí, la salida será una array que contiene solo un elemento.
Ejemplo:
HTML
<html> <head> <title>_.where() 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 studentArray=[ {name:"Sam", score:34}, {name:"Johny", score:31}, {name:"Smithy", score:23}, {name:"Rahul", score:39}, ]; console.log("student with score 23: ", _.where(studentArray, { 'score': 23 })); </script> </body> </html>
Producción: