You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Lodash找出数组A中存在但数组B中不存在的元素?

用Lodash一步实现数组差集需求

嘿,你要找的其实就是Lodash的_.difference()函数!它完全能直接满足你的需求,不需要组合多个函数。

函数作用

_.difference(array, [values]) 会返回第一个数组中存在,但后续所有数组中都不存在的元素,刚好对应你要的「从A里移除B中包含的元素」的逻辑。

代码示例

const A = [1,2,3,4,5];
const B = [3,4,6];
const C = _.difference(A, B);
console.log(C); // 预期输出: [1,2,5]

对比你之前的写法

你之前用的 _.intersection(A,_.xor(A,B)) 确实能得到正确结果,但属于间接实现:先通过_.xor(A,B)得到只在A或只在B中的元素,再和A取交集,最终筛选出只在A里的元素。而_.difference()是专门为这种「数组差集」场景设计的,写法更直观简洁。

另外补充个小知识点:_.difference()还支持传入多个排除数组,比如你想同时移除A中在B和C里的元素,可以直接写 _.difference(A, B, C),非常灵活。

内容的提问来源于stack exchange,提问作者Stack Tracer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:03:12