繁体   English   中英

Lodash / Underscore:检查数组,对象数组中的值

[英]Lodash/Underscore : Check for a value within an array, in an array of objects

令人困惑的标题,唯一简单的解释方法是向您展示我的追求:

var user = [
  {foo:"test",bar:1},
  {foo:"test2",bar:2}
];

var items = [{foo:"test",bar:1},{foo:"test4",bar:4},{foo:"test5",bar:5}]

我想要的是从user尚不存在的items选择一项 ,然后将其添加到user 在这种情况下, user对象最终看起来像:

user = [
  {foo:"test",bar:1},
  {foo:"test2",bar:2},
  {foo:"test4",bar:4}
];

我已经尝试过各种_.filter,_。contains等...组合,但是还不太清楚。 任何帮助将不胜感激!

逻辑如下:您要查找user数组中未包含的第一项。

因此,您可以执行以下操作:

var item = _.find(items, function (item) {
    return !_.findWhere(user, item);
});

jsFiddle演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM