Lodash.js相当于搜索符合条件的对象

时间:2014-12-22 20:29:20

标签: javascript arrays lodash

我正在迭代一个对象数组并寻找一个值。我相信Lodash有办法做到这一点,但我找不到它。这是代码。

var foo = 1; // Criteria to search for
var exists = false;
for (var i = 0; i < users.length; i++) {
    if (users[i].id == foo) {exists = true; break;}
};

基本上,这只是查看是否存在符合条件的任何元素。有谁知道Lo-Dash相当于此?

1 个答案:

答案 0 :(得分:4)

您可以使用_.some

_.some(users, function(user) {
  return user.id === 'foo';
})

lo-dash还支持简写形式,用于匹配特定属性的简单情况。你的例子属于这种情况:

_.some(users, { id: 'foo' })

如果您不需要支持IE8,则可以使用原生Array.prototype.some

users.some(function(user) {
  return user.id === 'foo';
})

Array.prototype.some compatibility table