web-dev-qa-db-fra.com

Comment convertir un objet contenant des objets en tableau d'objets

C'est mon objet

var data = {
    a:{"0": "1"},
    b:{"1": "2"},
    c:{"2": "3"},
    d:{"3": "4"}
};

C'est la sortie que j'attends

data = [ 
    {"0": "1"},
    {"1": "2"},
    {"2": "3"},
    {"3": "4"}
]
25
Nick Div
var data = {
    a:{"0": "1"},
    b:{"1": "2"},
    c:{"2": "3"},
    d:{"3": "4"}
};

var myData = Object.keys(data).map(key => {
    return data[key];
})

Ça marche pour moi

15
Shuwei

Vous devrez donner un nom à chaque valeur de l'objet. 

Une fois que vous avez corrigé le premier objet, vous pouvez le faire en utilisant Push. 

var data = {
    1: {"0": "1"},
    2: {"1": "2"},
    3 : {"2": "3"},
    4: {"3": "4"}
};

var ar = [];
for(item in data){
    ar.Push(data[item]);
 }

console.log(ar);

http://jsfiddle.net/nhmaggiej/uobrfke6/

2
mags
var array = [];
for(var item in data){
    // this condition is required to prevent moving forward to prototype chain
    if(data.hasOwnProperty(item)){
        array.Push(data[item]);
    } 
}
0
Hi I'm Frogatto

Je comprends ce que tu veux! Voici votre solution,

var dataObject=[{name:'SrNo',type:'number'}];

Et pour accéder ou stocker l'utilisation du tableau

dataObject[0].srno=1;
dataObject[0].srno=2;

J'espère que c'est ce dont vous aviez besoin.

0

Cela a fonctionné pour moi. Et cela semble être bien soutenu.

toArray(obj_obj) {
    return Object.keys(obj_obj).map(i => obj_obj[i]);
}

https://medium.com/chrisburgin/javascript-converting-an-object-to-an-array-94b030a1604c

0
Omar