首页 > 解决方案 > _.pull/_.pullAll 对面的 Lodash 函数是什么?

问题描述

我用来_.pullAll(source, removed_values)从数组中删除一组值(修改它)。

但是在Lodash 文档中,我找不到Lodash中的相反函数:一个修改source数组,将数组中的所有值推入其中的added_values函数

库中特定命名的原因我经常遇到这个问题,即如何找到一个函数的对立面。

标签: javascriptarrayslodash

解决方案


你可以简单地在 pullAllWith 上做一个逻辑 not,它仍然会像过滤器一样工作。

例如:

_.pullAllWith(
   [{id: 1}, {id: 2}, {id: 3}], 
   [1, 2], //removing this
   (obj, objId) => obj.id === objId
)

结果:([{id: 3}]删除 id 为 1、2 的对象)

假设您想保留 {id: 3},只是逻辑上不是相等运算符

_.pullAllWith(
   [{id: 1}, {id: 2}, {id: 3}], 
   [3], //keeping this
   (obj, objId) => obj.id !== objId
)

结果:[{id: 3}]


推荐阅读