2016-04-07 13 views
0

Ich möchte diese Funktion mit lodash vereinfachen, aber ich weiß nicht, wie das geht, können Sie mir helfen?Simplify Ausdruck mit lodash

function _findMembers(usersAvailable,listOfUsers){ 
    console.log("listOfUsers") 
    console.log(listOfUsers) 
    var members = []; 
    for(var i=0; i<_.size(usersAvailable);i++){ 
     for(var j=0; j<_.size(listOfUsers); j++){ 
      if(usersAvailable[i].local.email == listOfUsers[j]){ 
       var user = usersAvailable[i]; 
       user.selected = true; 
       members.push(user); 
      } 
     } 
    } 
    console.log("members") 
    console.log(members) 
    return members; 
} 

Antwort

1

Mit lodash Filterfunktion loash

und Javascript-Funktion umfasst

so etwas wie dieses

Sie könnten versuchen:

var members = usersAvailable.filter(function (currentUser) { 
     if(listOfUsers.includes(currentUser.local.email)){ 
      currentUser.selected=true; 
      return true; 
     }else{ 
      return false 
     } 
     return listOfUsers.includes(currentUser.local.email); 
    }); 
2

Sie brauchen nicht lodash zu verwenden. Verwenden Sie einfach die Standard-Javascript-Filterfunktion:

function _findMembers(usersAvailable, listOfUsers){  
    return usersAvailable.filter(function(userAvailable) { 
     return listOfUsers.indexOf(userAvailable.local.email) > -1; 
    }); 
}