> For the complete documentation index, see [llms.txt](https://lodash.shujuwajue.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lodash.shujuwajue.com/array/difference.md).

# \_.difference（过滤值）

**语法：**

```javascript
_.difference(array, [values])
```

**源代码链接：**[source](https://github.com/lodash/lodash/blob/4.17.10/lodash.js#L6947)

**npm包链接：**[npm package](https://www.npmjs.com/package/lodash.difference)

**描述：**

创建一个数组的数组值不包括在其他给定数组的值（使用[`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)等值的比较）。结果值由第一个数组决定。

注意：不同于[`_.pullAll`](https://lodash.com/docs/4.17.10#pullAll)，`_.difference`这个方法返回一个新数组。

**开始版本：**&#x30;.1.0

**参数：**

* `array (Array)`: 需要检查处理的数组。
* `[values] (...Array)`: 需要排除的值。&#x20;

**返回值：**

* `array (Array)`: 返回过滤值后的新数组。

**例子：**

```javascript
_.difference([2, 1], [2, 3]);
// => [1]
```

## 参考资料

* 源码分析：[每天一个lodash方法-defference](https://segmentfault.com/a/1190000014097356)
