web-dev-qa-db-fra.com

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 })
99
Ben174

Il vous suffit d’envelopper un 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)
245
Nenad Vracar