Tableau

Résolu
cs_metos Messages postés 168 Date d'inscription vendredi 18 janvier 2002 Statut Membre Dernière intervention 19 octobre 2009 - 10 janv. 2008 à 16:04
Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 - 10 janv. 2008 à 17:22
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

Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
10 janv. 2008 à 16:46
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]
3
Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
10 janv. 2008 à 16:46
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]
0
cs_metos Messages postés 168 Date d'inscription vendredi 18 janvier 2002 Statut Membre Dernière intervention 19 octobre 2009
10 janv. 2008 à 16:58
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
0
Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
10 janv. 2008 à 17:22
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]
0
Rejoignez-nous