我正在迭代一个对象数组并寻找一个值。我相信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相当于此?
答案 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';
})