11 votes

Convertir un objet en un tableau d'objets ?

J'ai un objet qui ressemble à ceci :

{
  "1": "Technology",
  "2": "Startup",
  "3": "IT",
}

et je dois le convertir en un tableau d'objets qui ressemblerait à ceci :

[
  {id: 1, name: "Technology"},
  {id: 2, name: "Startup"},
  {id: 3, name: "IT"}
]

Quelle serait la manière la plus propre et la plus efficace de procéder ?

19voto

Mohammad Usman Points 17530

Vous pouvez utiliser .map() avec Object.keys() :

let data = {
    "1": "Technology",
    "2": "Startup",
    "3": "IT",
};

let result = Object.keys(data)
                   .map(key => ({id: Number(key), name: data[key]}));

console.log(result);

Ressources utiles :

3voto

SALEH Points 1073

En supposant que votre instance d'objet s'appelle obj :

Object.keys(obj).reduce((acc, curr) => {
    return [...acc, { id: curr, name: obj[curr] }]
}, [])

1voto

badboy24 Points 193

La voie triviale

var o = {
    "1": "Technology",
    "2": "Startup",
    "3": "IT",
};
var arr = [];
for(var i in o) {
    arr.push({
        id: i,
        number: o[i]
    });
};

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