2014-12-22 48 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