43 votes

Convertir un tableau d'objets en tableau des valeurs des objets

J'essaye de convertir ce tableau

 let orders = [
  {  amount: '100', user: 'admin', date: 'March 6, 2019' },
  {  amount: '120', user: 'admin', date: 'March 6, 2019' },
  {  amount: '80', user: 'admin', date: 'March 7, 2019' },
  {  amount: '200', user: 'admin', date: 'March 7, 2019' },
];

à quelque chose comme ça

 orders = [
  ['100', 'admin', 'March 6, 2019'],
  ['120', 'admin', 'March 6, 2019'],
  ['80', 'admin', 'March 7, 2019'],
  ['200', 'admin', 'March 7, 2019'],
];

et j'ai lu que Objects.values() renvoie les valeurs dans un tableau, j'ai donc essayé d'itérer dans le order en utilisant forEach() et en utilisant le Object.values sur chaque élément du tableau.

 let newOrders = orders.forEach(order => {
  return Object.values(order);
});

Je ne sais pas si ce que je fais est juste et je suis nouveau sur Javascript. Aidez-moi, s'il vous plaît.

22voto

Salman A Points 60620

L'ordre dans lequel les propriétés de l'objet sont énumérées n'est pas garanti ( ref ). La solution la plus simple consiste à spécifier explicitement les clés dans l'ordre souhaité:

 let result = orders.map(order => [order.amount, order.user, order.date]);

6voto

Khyati Sharma Points 109

Utilisez simplement orders.map(Object.values)

 let orders = [
  {  amount: '100', user: 'admin', date: 'March 6, 2019' },
  {  amount: '120', user: 'admin', date: 'March 6, 2019' },
  {  amount: '80',  user: 'admin', date: 'March 7, 2019' },
  {  amount: '200', user: 'admin', date: 'March 7, 2019' },
];

const result = orders.map(Object.values);

console.log(result)

1voto

vous pouvez essayer ceci:

 orders.map((order) => Object.values(order));

map vous renverra un nouveau tableau, tandis que forEach fera juste un rappel sur chaque élément du tableau

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