This method is like `difference` except that it accepts `comparator` which is invoked to compare elements of `array` to `values`. The order and references of result values are determined by the first array. The comparator is invoked with two arguments: (arrVal, othVal). **Note:** Unlike `pullAllWith`, this method returns a new array.
const objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]
differenceWith(objects, [{ 'x': 1, 'y': 2 }], isEqual)
// => [{ 'x': 2, 'y': 1 }]
| Name | Type | Attribute | Description |
|---|---|---|---|
| array | The array to inspect. | ||
| values | The values to exclude. | ||
| comparator | The comparator invoked per element. |
{
"comment": "/**\r\n * This method is like `difference` except that it accepts `comparator`\r\n * which is invoked to compare elements of `array` to `values`. The order and\r\n * references of result values are determined by the first array. The comparator\r\n * is invoked with two arguments: (arrVal, othVal).\r\n *\r\n * **Note:** Unlike `pullAllWith`, this method returns a new array.\r\n *\r\n * @since 4.0.0\r\n * @category Array\r\n * @param {Array} array The array to inspect.\r\n * @param {...Array} [values] The values to exclude.\r\n * @param {Function} [comparator] The comparator invoked per element.\r\n * @returns {Array} Returns the new array of filtered values.\r\n * @example\r\n *\r\n * const objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\r\n *\r\n * differenceWith(objects, [{ 'x': 1, 'y': 2 }], isEqual)\r\n * // => [{ 'x': 2, 'y': 1 }]\r\n */",
"meta": {
"range": [
1020,
1318
],
"filename": "differenceWith.js",
"lineno": 27,
"path": "C:\\Users\\beaujeup\\projects\\jsdoc-template\\examples\\lodash\\lodash-repo",
"code": {
"id": "astnode100001889",
"name": "differenceWith",
"type": "FunctionDeclaration",
"paramnames": [
"array",
"values"
]
},
"vars": {
"comparator": "differenceWith~comparator"
}
},
"description": "This method is like `difference` except that it accepts `comparator`\rwhich is invoked to compare elements of `array` to `values`. The order and\rreferences of result values are determined by the first array. The comparator\ris invoked with two arguments: (arrVal, othVal).\r\r**Note:** Unlike `pullAllWith`, this method returns a new array.",
"since": "4.0.0",
"tags": [
{
"originalTitle": "category",
"title": "category",
"text": "Array",
"value": "Array"
}
],
"params": [
{
"type": {
"names": [
"Array"
]
},
"description": "The array to inspect.",
"name": "array"
},
{
"type": {
"names": [
"Array"
]
},
"optional": true,
"variable": true,
"description": "The values to exclude.",
"name": "values"
},
{
"type": {
"names": [
"function"
]
},
"optional": true,
"description": "The comparator invoked per element.",
"name": "comparator"
}
],
"returns": [
{
"type": {
"names": [
"Array"
]
},
"description": "Returns the new array of filtered values."
}
],
"examples": [
"const objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\r\rdifferenceWith(objects, [{ 'x': 1, 'y': 2 }], isEqual)\r// => [{ 'x': 2, 'y': 1 }]"
],
"name": "differenceWith",
"longname": "differenceWith",
"kind": "function",
"scope": "global",
"___id": "T000002R000209",
"___s": true,
"filepath": "differenceWith.js"
}