El método _.differenceWith() es similar al método _.difference() que devuelve la array que contiene los valores que están en la primera array, no en la segunda array, pero en _.differenceWith() se comparan todos los elementos de la primera array. con la segunda array aplicando la comparación proporcionada en la tercera. Puede ser un poco complejo de entender al leer esto, pero se volverá simple cuando veas el ejemplo.
Sintaxis:
_.differenceWith(array, [values], [comparator])
Parámetros: Este método acepta tres parámetros como se mencionó anteriormente y se describe a continuación:
- array: este parámetro contiene la array cuyos valores se verifican o inspeccionan.
- valores: este parámetro contiene el valor que debe eliminarse.
- comparador: Este parámetro contiene la comparación invocada por elemento.
Valor devuelto: este método devuelve una array de acuerdo con la condición explicada anteriormente.
Ejemplo 1:
const _ = require('lodash') let x = [1, 2, 3] let y = [2, 4, 5] let result = _.differenceWith(x, y, _.isEqual); console.log(result);
Aquí, const _ = require('lodash')
se utiliza para importar la biblioteca lodash al archivo.
Producción:
[1, 3]
Entonces, aquí cada elemento de la primera array se compara con cada elemento de la segunda array según el tercer comparador, en nuestro caso es _.isEqual. Entonces, si el valor se vuelve igual, lo elimina.
Ejemplo 2:
const _ = require('lodash'); let x = [{a: 1}, {b: 2}, 6] let y = [{a: 1}, 7, 6] let result = _.differenceWith(x, y, _.isEqual); console.log(result);
Producción:
[{b: 2}]
Ejemplo 3:
const _ = require('lodash'); let x1 = [1, 2, 3] let y1 = [2, 4, 5] let result1 = _.differenceWith(x1, y1, _.isEqual); console.log(result1); let x2 = [{a: 1}, {b: 2}, 6] let y2 = [{a: 1}, 7, 6] let result2 = _.differenceWith(x2, y2, _.isEqual); console.log('\n\n', result2);
Producción:
Nota: Esto no funcionará en JavaScript normal porque requiere que se instale la biblioteca lodash.
Referencia: https://lodash.com/docs/4.17.15#differenceWith
Publicación traducida automáticamente
Artículo escrito por iamsahil1910 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA