Home

function: differenceWith


differenceWith(array: Array, values: Array, comparator: function): Array

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.

Example(s):

const objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]

differenceWith(objects, [{ 'x': 1, 'y': 2 }], isEqual)
// => [{ 'x': 2, 'y': 1 }]

Params:

Name Type Attribute Description
array The array to inspect.
values The values to exclude.
comparator The comparator invoked per element.

Returns:

Array

  {
    "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"
}