切换 - 添加if!包含,如果包含,则删除

时间:2016-02-17 03:50:32

标签: lodash

我可以用filter / map完成我需要的东西并且可能减少,但我想知道 - 因为它可以非常漂亮和简洁地完成事情......如果我有一个像这样的对象数组:

1 个答案:

答案 0 :(得分:5)

请尝试通过xorBy

进行操作
> var arr = [
   {name: "bill", id: 909},
   {name: "tina", id: 444},
   {name: "ron", id: 24},
   {name: "paul", id: 4445}];

> var remove_arr = _.xorBy(arr, [{name: "ron", id: 24}], 'id');

> remove_arr
  [{name: "bill", id: 909},
   {name: "tina", id: 444},
   {name: "paul", id: 4445}];

> var add_arr = _.xorBy(arr, [{name: "mary", id: 887}], 'id');
> add_arr
  [{name: "bill", id: 909},
   {name: "tina", id: 444},
   {name: "ron", id: 24},
   {name: "paul", id: 4445},
   {name: "mary", id: 887}];