Décrivez ici votre problème ou ce que vous cherchez à faire.
Bonjour à tous. C'est mon premier message sur ce forum.
J'ai une donnée en JSON que j'aimerais sciender en deux objets.
Exemple :

data={
    "userCu":"13"
    "Description": "az",
    "dateop": "2022-01-17T23:00:00.000Z",
    "arrond": 354,
    "village": "ze",
    "localite": "er",
    "secteur": 1,
    "activite": 1,
    "support": 2,
    "1-M": "2",
    "1-F": "3",
    "2-M": "4",
    "2-F": "5",
    "3-M": "3",
    "3-F": "7",
    "7-M": "8",
    "7-F": "9",
    "8-M": "10",
    "8-F": "11"
  }

A Partir de l'objet data, j'aimerais avoir les deux objets suivants;

Obj1={
    "userCu":"13"
    "Description": "az",
    "dateop": "2022-01-17T23:00:00.000Z",
    "arrond": 354,
    "village": "ze",
    "localite": "er",
    "secteur": 1,
    "activite": 1,
    "support": 2}

    Objt2={
     "1-M": "2",
    "1-F": "3",
    "2-M": "4",
    "2-F": "5",
    "3-M": "3",
    "3-F": "7",
    "7-M": "8",
    "7-F": "9",
    "8-M": "10",
    "8-F": "11"
    }

Au fait, je ne sais pas comment procéder car je suis nouveau en JS.

2 réponses


Salut, il suffit de lister les clés que tu veux filtrer et de créer ne nouveaux objets

const excepts = ['1-M', '1-F', '2-M', '2-F', '3-M', '3-F', '4-M', '4-F', '5-M', '5-F', '6-M', '6-F', '7-M', '7-F', '8-M', '8-F'];
const obj1 = Object
    .keys(data)
    .filter((key) => ! excepts.includes(key))
    .reduce((agg, key) => {
        agg[key] = data[key];

        return agg;
    }, {});
const obj2 = Object
    .keys(data)
    .filter((key) => excepts.includes(key))
    .reduce((agg, key) => {
        agg[key] = data[key];

        return agg;
    }, {});
kanmaber
Auteur

@Balsakup
Merci pour la promptitude et pour la réponse. J'avoue que je n'y comprends pour le moment pas grande chose mais cela me donne de la matière pour mieux chercher et pour avancer..