Tableau [Résolu]

Signaler
Messages postés
168
Date d'inscription
vendredi 18 janvier 2002
Statut
Membre
Dernière intervention
19 octobre 2009
-
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
-
bonjour,

j'ai un soucis, dans mon site web j'utilise un tableau javascript créer dans une page js. le début du tableau est le suivant :
var itemarray = new Array(
                    new Array('4 Piece Aluminum Corkscrew Set',    '$74.95', '1000000013016', 0, null, 'corkscrew_add_remove', 3,'High quality product from...',null) )

de cette manière ca fonctionne, l'incovénient est que si je veux ajouter des élément par après dans mon tableau ca ne fonctionne pas du tout. pour ajouter je procède comme ceci :
itemarray [2]=  new Array('4 Piece Aluminum Corkscrew Set',    '$74.95',
'1000000013016', 0, null, 'corkscrew_add_remove', 3,'High quality
product from...',null) ;
je n'es pas d'erreur, j'ai essayer de l'insérer dans une page php en tant que script et dans une fonction dans la meme page js ou le tableau est déclarrer mais ca fonctionne pas.

une idée? merci d'avance

metos

4 réponses

Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
5
Bien le bonjour, plusieurs choix s'offrent à toi :
soit une méthode d'ajout ( voir exemple)
soit ta méthode :
    itemarray [2]=  new Array('4 Piece Aluminum Corkscrew Set',   
'$74.95', '1000000013016', 0, null, 'corkscrew_add_remove', 3,'High
quality product from...',null) ;
seulement, voilà, il faut bien prendre en compte le fait qu'un enregistrement (tableau) commence à 0 ( ton erreur je présume).
donc un exemple vaut tous les mot !
:

<html>
    <head>
        <title>
        </title>
        <script>
            var itemarray = new Array(
                    new Array('4 Piece Aluminum Corkscrew Set',    '$74.95', '1000000013016', 0, null, 'corkscrew_add_remove', 3,'High quality product from...',null) )
            function addWithPush (){
                itemarray.push (new Array('5 test pour la correction',    '$74.95', '1000000013016', 0, null, 'corkscrew_add_remove', 3,'High quality product from...',null)) ;
            }
            function add(){
                itemarray[1]= new Array('5 test pour la correction',    '$74.95', '1000000013016', 0, null, 'corkscrew_add_remove', 3,'High quality product from...',null);
            }
           
            function testarray(){
                // doit afficher 5 test pour la correction dans une popup;
                alert ( itemarray[1][0] )
            }
        </script>
    </head>
   
       
       
       
   
</html>

....
[o-_-o]
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
5
Bien le bonjour, plusieurs choix s'offrent à toi :
soit une méthode d'ajout ( voir exemple)
soit ta méthode :
    itemarray [2]=  new Array('4 Piece Aluminum Corkscrew Set',   
'$74.95', '1000000013016', 0, null, 'corkscrew_add_remove', 3,'High
quality product from...',null) ;
seulement, voilà, il faut bien prendre en compte le fait qu'un enregistrement (tableau) commence à 0 ( ton erreur je présume).
donc un exemple vaut tous les mot !
:

<html>
    <head>
        <title>
        </title>
        <script>
            var itemarray = new Array(
                    new Array('4 Piece Aluminum Corkscrew Set',    '$74.95', '1000000013016', 0, null, 'corkscrew_add_remove', 3,'High quality product from...',null) )
            function addWithPush (){
                itemarray.push (new Array('5 test pour la correction',    '$74.95', '1000000013016', 0, null, 'corkscrew_add_remove', 3,'High quality product from...',null)) ;
            }
            function add(){
                itemarray[1]= new Array('5 test pour la correction',    '$74.95', '1000000013016', 0, null, 'corkscrew_add_remove', 3,'High quality product from...',null);
            }
           
            function testarray(){
                // doit afficher 5 test pour la correction dans une popup;
                alert ( itemarray[1][0] )
            }
        </script>
    </head>
   
       
       
       
   
</html>

....
[o-_-o]
Messages postés
168
Date d'inscription
vendredi 18 janvier 2002
Statut
Membre
Dernière intervention
19 octobre 2009

salut,

merci pour la rapidité, le problème ne venait pas de partir à 0, je l'utilisait en variable gloabale et je le déclarer avec var... apparement maintenant c'est ok, par contre je vais utiliser ta fonction push bien pratique.

merci

metos
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
5
attention, avec la méthode push, pour afficher les infos, tu n'as pas l'indice, donc il y a un risque de problème lorsque l'indice demandé n'est pas renseigné :

        var itemarray = new Array();
            for ( var i =0; i < 5; i++){
                    itemarray.push(i);
            }
            // affiche 1
            alert ( itemarray[1]);
            // affiche undefined
            alert  (itemarray[8]);
.. donc, il faut bien connaitre le dernier indice du tableau : arrayitem.length -1

[o-_-o]