Lodash es una biblioteca de JavaScript que funciona en la parte superior de underscore.js. Lodash ayuda a trabajar con arrays, strings, objetos, números, etc.
_.intersectionBy () se usa para tomar la intersección de una array con cualquier número de arrays en función de alguna función que itera sobre cada elemento de la array. Devuelve la array después de hacer la intersección de las arrays.
Sintaxis:
_.intersectionBy([arrays], [iteratee=_.identity])
Parámetros:
- arrays: Es el array cuya intersección se ha de tomar.
- iteratee=_.identity: Es la función que itera sobre cada elemento del arreglo cuya intersección se quiere tomar.
Valor devuelto: Devuelve la array después de la intersección sin duplicados.
Nota: Instale el módulo lodash npm install lodash
antes de usar el código proporcionado a continuación.
Ejemplo 1: cuando no se proporciona la función Iteratee, se comporta igual que la función de intersection() del lodash.
javascript
// Requiring the lodash library const _ = require("lodash"); // Original arrays let array1 = [1, 2, 4, 3, 4, 4] let array2 = [1, 2, 5, 6] // Using _.intersectionBy() method let newArray = _.intersectionBy(array1, array2); // Printing original Array console.log("original Array1: ", array1) console.log("original Array2: ", array2) // Printing the newArray after intersection console.log("new Array: ", newArray)
Producción:
Ejemplo 2: cuando se usa la función Math.ceil() para ejecutarse en array1 y todos los valores de array1 se comparan con el siguiente entero mayor más cercano y luego se toma la intersección.
javascript
// Requiring the lodash library const _ = require("lodash"); // Original array and array1 // float values are given let array1 = [1.1, 2.6, 4, 3.2, 1, 2] let array2 = [1, 2, 3, 5, 6] // Using _.intersection() method // when this function is run array1 // looks like array1=[2, 3, 4, 4, 1, 2] // after that intersection is taken let newArray = lodash.intersectionBy( array1, array2, Math.ceil); // Printing original Array console.log("original Array1: ", array1) console.log("original Array2: ", array2) // Printing the newArray console.log("new Array: ", newArray)
Producción:
Ejemplo 3: cuando hay varios elementos comunes presentes, los devuelve solo una vez y no se devuelven duplicados en la array.
javascript
// Requiring the lodash library const _ = require("lodash"); // Original array let array1 = ["a", "b", "c", "a"] let array2 = ["a", "d", "e", "a"] // Using _.intersection() method let newArray = lodash.intersectionBy( array1, array2, "a"); // Printing original Array console.log("original Array1: ", array1) console.log("original Array2: ", array2) // Printing the newArray console.log("new Array: ", newArray)
Producción: