127 votes

ES6 mappe un tableau d'objets, pour renvoyer un tableau d'objets avec de nouvelles clés

J'ai un tableau d'objets:

 [
    {
        id: 1,
        name: 'bill'
    },
    {
        id: 2,
        name: 'ted'
    }
]
 

Vous cherchez un one-liner simple à retourner:

 [
    {
        value: 1,
        text: 'bill'
    },
    {
        value: 2,
        text: 'ted'
    }
]
 

Ainsi, je peux facilement les pomper dans un menu déroulant avec les clés appropriées.

Je pense que cette solution simple devrait fonctionner, mais j'obtiens des erreurs de syntaxe non valides:

 this.props.people.map(person => { value: person.id, text: person.name })
 

298voto

Nenad Vracar Points 17412

Vous avez juste besoin d'envelopper l'objet dans ()

 var arr = [{
  id: 1,
  name: 'bill'
}, {
  id: 2,
  name: 'ted'
}]

var result = arr.map(person => ({ value: person.id, text: person.name }));
console.log(result) 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X