繁体   English   中英

使用下划线可以使用findWhere返回true或false

[英]Use underscore to return true or false with findWhere

假设我有以下数据:

var data = {
    activeUser: { id: 3, name: 'Joe', something: 'else' },
    location: {
        users: [{id: 1}, {id: 2}, {id: 3}]
    }
};

我想返回一个布尔值是否activeUser可以在中找到data.location.users阵列。 请注意, location.users数组中的对象将不具有与activeUser对象相同的键。

有没有正常的下划线方式来做到这一点? 我有以下内容。

var userExists = (_.findWhere(data.location.users, {id: data.activeUser.id})) ? true : false;

我正在使用findWhere方法返回一个对象,如果它不存在则返回null。

一种替代选择是使用._some()方法 它将根据是否找到任何内容返回一个布尔值:

var userExists = _.some(data.location.users, function (user) {
  return user.id === data.activeUser.id;
});

暂无
暂无

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

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