2014-12-22 19 views
0

我正在迭代对象数组并寻找值。我确定Lodash有办法做到这一点,但我找不到它。这是代码。Lodash.js相当于搜索符合条件的对象

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相当于?

+2

[_.some()](HTTPS: //lodash.com/docs#some) – Pointy

回答

4

您可以使用_.some

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

LO-破折号还支持对特定属性的匹配上的简单情况的简写形式。你举的例子就属于这一情况:

​​

如果您不需要支持IE8您可以使用本机Array.prototype.some

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

Array.prototype.some compatibility table