lodash.without删除具有特定字段的对象的函数

Shi*_*shi 7 javascript lodash

我熟悉_.without 功能

这将从数组中删除特定值:

_.without([1, 2, 1, 3], 1, 2);
// ? [3]
Run Code Online (Sandbox Code Playgroud)

是否有内置/ lodash函数(或 - 我如何实现一个有效的函数),删除不是特定的值,而是具有指定字段值的var /

_.without([ { number: 1}, {number: 2} ], 1)
// -> [ {number: 2} ]
Run Code Online (Sandbox Code Playgroud)

roy*_*wie 13

你可以使用_.filter:

_.filter([ { number: 1}, {number: 2} ], (o) => o.number != 1)
Run Code Online (Sandbox Code Playgroud)

或者,没有新的箭头符号:

_.filter([ { number: 1}, {number: 2} ], function (o) { return o.number != 1 })
Run Code Online (Sandbox Code Playgroud)

  • 还有"拒绝"这与"过滤器"相反,它似乎更接近"没有"逻辑. (3认同)
  • 所以你要做`_.reject([{number:1},{number:2}],o => o.number === 1)`这会给你`[{number:2}]`. (2认同)