2017-07-14 1 views
0

Par exemple, dire que j'ai quelques objets utilisateur dans un tableau:Comment utiliser Lodash keyBy pour obtenir l'ID utilisateur -> title de l'objet utilisateur entier?

[{name: "Bob", ID: "123", location: "Texas"}, 
{name: "Jill", ID: "124", location: "New York"}, 
{name: "Jan", ID: "125", location: "Alabama"}] 

et je veux obtenir juste les cartes d'identité et les mettre dans un nouveau tableau avec une autre variable qui sera récupéré ailleurs, mais correspondant à cet ID, comme:

[{ID: "123", title: "Engineer"}, 
{ID: "124", title: "Architect"}, 
{ID: "125", title: "Manager"}] 

Comment puis-je obtenir cela avec Lodash?

Répondre

2

Si la solution doit utiliser lodash dans tous les cas, ignorez celle-ci.
Sinon ...

Cela peut être fait avec Array.prototype.map()

var persons = [ 
 
    {name: "Bob", ID: "123", location: "Texas"}, 
 
    {name: "Jill", ID: "124", location: "New York"}, 
 
    {name: "Jan", ID: "125", location: "Alabama"} 
 
]; 
 

 
var result = persons.map(function(person) { 
 
    return { 
 
    ID: person.ID, 
 
    title: "" /* get title */ 
 
    }; 
 
}); 
 

 
console.log(result);