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

如何使用lodash更优实现查找对象并删除其内部数组的指定值

方案1:原地修改原数组(最简写法)

直接用_.find定位目标对象,搭配_.pull直接移除指定值,一行即可完成操作:

_.pull(_.find(subs, { slug: "just" }).subscriber, "1107405573");

说明:_.find直接匹配slug为just的对象,不需要手动查找索引再访问属性;_.pull会原地移除数组内所有和指定值相等的元素,省去手动filter再赋值的步骤。


方案2:不可变更新(不修改原数组,返回新数组)

如果业务场景要求不改动原数据,可以用_.map搭配_.without实现:

const newSubs = _.map(subs, item => 
  item.slug === "just" 
    ? { ...item, subscriber: _.without(item.subscriber, "1107405573") }
    : item
);

说明:_.without会返回过滤掉指定值的新数组,不会改动原subscriber数组,遍历过程中未匹配的对象直接返回,保证原数组完全不受影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 07:09:03