Partage
  • Partager sur Facebook
  • Partager sur Twitter

Array.push() - Modification de tout mon Array

Problème de remplissage de mon tableau

Sujet résolu
    16 février 2019 à 19:20:06

    Bonjour a tous ! 

    Petit probleme dans un de mes projets ! Voici ma fonction 

    var PrixHotel=function(MapId)
    {
        return new Promise(function(resolve,reject){
            for (var [clé, valeur] of MapId) 
            { 
                InfoHotel(clé,valeur).then(function(result){                  
                              
                    Maliste.push(result);
                    compteur++;
                    if(compteur==MapId.size)
                    {
                        resolve(Maliste)
                    }
                });
               
            }
           
        })
    }


    Pour remttre un peu dans le contexte de mon projet : c'est du scrapping de site

    MapId : C'est un map avec un id et le nom d'un hotel

    InfoHotel : C'est une fonction qui me retourne une objet. La fin de ma fonction est comme ceci

    MonHotel.NomHotel=NomHotel;
    MonHotel.ID=IDHotel;
    MonHotel.jour=jour;
    MonHotel.prix=prix;
    resolve(MonHotel);

    Bref j'aimerai stocké ces objets dans un talbeau pour l'ituliser ! Mais quand je fais Maliste.push(results), c'est toute ma liste qui est modifier. Au lieu d'ajouter un element en bout de liste je me retrouve avec le même objet partout.
    Quelqu'un aurait-il une solution :)

    Voici ce que mon code retourne..



    -
    Edité par BrunoBernard4 16 février 2019 à 19:24:39

    • Partager sur Facebook
    • Partager sur Twitter
      27 octobre 2019 à 14:24:55

      Bonjour

      Je sais pas si ça peut t'aider mais voici un petit exemple

      <html>
      <body>
        <h1>Local Storage JSON Array Example</h1>
      
      <script>
      
      var caddy = [
        { Id: "1", detail: { name: "Collier" , prix: "10€", nombre: "5" }, },
        { Id: "2", detail: { name: "Montre"  , prix: "20€", nombre: "9" }, }
      ];
      
      function Afficher()
      {
          for (var {Id: i, detail: { name: n, prix: p, nombre: n } } of caddy) 
          {
              console.log("Id : " + i + ", Name : " + n + ", Prix : " + p + " , Nombre : " + n );
          }
      }
      
      
      Afficher();
      
      </script>
      </html>
      

      Y a juste un hic, j'ai le même problème

      • Partager sur Facebook
      • Partager sur Twitter

      Array.push() - Modification de tout mon Array

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown