Метод _.differenceWith() аналогичен методу _.difference (), который возвращает массив, содержащий значения, которые находятся в первом массиве, не во втором массиве, а в _.differenceWith() все элементы первого массива сравниваются со вторым массивом путем применения сравнения, приведенного в третьем. Это может быть немного сложно понять, прочитав это, но это станет проще, когда вы увидите пример.
Синтаксис:
_.differenceWith(array, [values], [comparator])
Apache Config
Параметры: Этот метод принимает три параметра, как указано выше и описано ниже:
- array (массив): Этот параметр содержит массив, значения которого проверяются или проверяются.
- values (ценности): Этот параметр содержит значение, которое необходимо удалить.
- comparator (компаратор): Этот параметр содержит сравнение, вызываемое для каждого элемента.
Возвращаемое Значение: Этот метод возвращает массив в соответствии с описанным выше условием.
Пример 1:
const _ = require('lodash')
let x = [1, 2, 3]
let y = [2, 4, 5]
let result = _.differenceWith(x, y, _.isEqual);
console.log(result);
JavaScript
Здесь const _ = require('lodash')
используется для импорта библиотеки lodash в файл.
Выход:
[1, 3]
Apache Config
Итак, здесь каждый элемент первого массива сравнивается с каждым элементом второго массива в соответствии с третьим компаратором, в нашем случае его _.равнозначно. Таким образом, если значение становится равным, оно удаляет его.
Пример 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);
JavaScript
Выход:
[{b: 2}]
Apache Config
Пример 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);
JavaScript
Выход:
Примечание: Это не будет работать в обычном JavaScript, потому что для этого требуется установка библиотеки lodash.