IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Ajouter une ligne dans un objet JS


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Ajouter une ligne dans un objet JS
    Bonjour,

    j'ai créé un objet * JS (simplifié ici) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    img_Extra = {
       'Door1': {url:'door1.png', css:'' },
       'Door2': {url:'door2.png', css:'' },
    };
    Je voudrais lui ajouter des lignes (APRES création de l'objet, tel que ci-dessus) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Key1': {url:'key1.png', css:'key' },
    'Key2': {url:'key2.png', css:'key' },
    Mais je ne trouve pas la syntaxe correcte... :calim:

    Une âme charitable ?



    N.B. Je parle juste d'un "objet".
    Pas "Orienté Objet", auquel je ne connais rien de rien.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    img_Extra = {
       'Door1': {url:'door1.png', css:'' },
       'Door2': {url:'door2.png', css:'' },
    };
     
     
    img_Extra.Key1 = {url:'key1.png', css:'key' };
    img_Extra.Key2= {url:'key2.png', css:'key' },
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bien vu. Merci.
    Je n'y avais pas pensé.

    J'apprends (petit à petit l'oiseau fait son nid)


    Question subsidiaire : Existe-il une syntaxe permettant de fusionner 2 objets en 1 seul ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    img_Extra = {
      'Door1': {url:'door1.png', css:'' },
      'Door2': {url:'door2.png', css:'' },
    };
    // -----
    img_Extra2 = {
      'Key1': {url:'key1.png', css:'key' },
      'Key2': {url:'key2.png', css:'key' },
    };
    -> on fusionne pour n'avoir que img_Extra ?

  4. #4
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Question subsidiaire : Existe-il une syntaxe permettant de fusionner 2 objets en 1 seul ?
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    for (var attr in img_Extra2) { img_Extra[attr] = img_Extra2[attr]; }

    [edit] ah bah le temps que je tape le code, SpaceFrog a repondu aussi
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  5. #5
    Invité
    Invité(e)
    Par défaut
    OK.

    Merci à tous.

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 205
    Par défaut
    Bonjour,
    si tu n'es pas trop regardant côté compatibilité tu peux également te tourner vers Object.assign().

  7. #7
    Membre actif Avatar de dbroqua
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2013
    Messages : 14
    Par défaut
    Et si Key1 et Key2 sont amenés à être des variables :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    img_Extra[key1] = { ... }

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Faut boucler ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    function jsonConcat(o1, o2) {
     for (var key in o2) {
      o1[key] = o2[key];
     }
     return o1;
    }
     
    var output = {};
    img_Extra = {
      'Door1': {url:'door1.png', css:'' },
      'Door2': {url:'door2.png', css:'' },
    };
    // -----
    img_Extra2 = {
      'Key1': {url:'key1.png', css:'key' },
      'Key2': {url:'key2.png', css:'key' },
    };
     
    output=jsonConcat(img_Extra, img_Extra2)
    console.log(output);
    Attention cependant aux écrasements ... si une clef existe déja dals le premier objet il sera remplacé par celui du second ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ajouter une ligne dans GtkListStore
    Par leged dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 04/08/2006, 18h44
  2. [vb6] Ajouter une ligne dans un tableau excel
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 13/06/2006, 16h41
  3. Ajouter une ligne dans un Stringgrid
    Par jouze dans le forum Composants VCL
    Réponses: 6
    Dernier message: 20/02/2006, 21h40
  4. Ajouter une ligne dans un DBGrid
    Par jbaers dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/11/2005, 09h18
  5. Ajouter une ligne dans une liste via un POPUP
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/01/2005, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo