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 :

push sur un tableau d'objets ?


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Points : 41
    Points
    41
    Par défaut push sur un tableau d'objets ?
    Bonjour,

    Afin d'améliorer les performances, je souhaite travailler sur un tableau qui est une copie d'une table sqlite (accessible avec javascript pour XUL uniquement) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    edTableFurl=edStatement("SELECT * FROM furl");
    edTableFurl = {
    	edit: function(num, id, subject, date, name, parameter, url, relation){
    		edDump("edi num: "+ num);
    		edTableFurl[num].id = id;
    		edTableFurl[num].subject = subject;
    		edTableFurl[num].name = name;
    		edTableFurl[num].parameter = parameter;
    		edTableFurl[num].url = url;
    		edTableFurl[num].relation = relation;
    		edTableFurl[num].note = note;
    }
    Cette mise en forme est-elle correcte ? Pourtant, lorsque je fais appel à ma fonction, j'obtiens une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    edTableFurl.edit(num, id, subject, date, name, parameter, url, relation);
    TypeError: edTableFurl[num] is undefined
    Autre exemple, j'ai un tableau vide :

    tab = [];

    Je voudrais maintenant ajouter un élément, si bien que j'obtienne :

    tab[0]= { "a", "b"};

    Merci de l'aide,
    Thibaud.

    (Post mis à jour en fonction des remarques qui m'ont été faites ci-dessous).

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Salut.

    Il est bien heureusement impossible d'aller taper dans une base de données en JavaScript... ce serait une aberration en terme de sécurité.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    J'utilise javascript avec XUL, les composants XPCOM permettent d'utiliser une base sqlite sans problèmes.

  4. #4
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ne pas confondre array et json

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var objet=new Array()
     
    objet[0]=["a","b"]
    alert(objet[0][0])
     
    objet[1]={0:"a",1:"b"}
    alert(objet[1][1])

  5. #5
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Merci SpaceFrog. Je n'ai pas étudié JSon, donc il faudrait que je le fasse pour comprendre ta première remarque.
    Sinon, je crois comprendre que je dois utiliser un tableau d'objets. Mais je dois mal m'y prendre, car je ne modifie pas la longueur de mon tableau qui donne ici 'undefined' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    num=0;
    id="123";
    subject="toto";
    url="google";
    edTableFurl = {};
    edTableFurl[0] = {
    	id: id,
    	subject: subject,
    	url: url,
    };
    alert("edit url: "+ url);
    alert("AFTER: edTableFurl.length: " + edTableFurl.length);

  6. #6
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Bon, si je défini un objet puis je dis que c'est un tableau, ça marchera pas...
    En remplaçant
    edTableFurl = {};
    par
    edTableFurl = [];
    ... c'est beaucoup mieux !

  7. #7
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut


    ou plus proprement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    edTableFurl = new Array();

  8. #8
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    ...sauf que edTableFurl est initié comme un objet vide , donc est-ce possible de connaître la longueur d'un objet d'objets ?

  9. #9
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    A part un petit souci de confusion dasn les variables et une , en trop à la fin ...
    tu y étais presque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    mynum=0;
    myid="123";
    mysubject="toto";
    myurl="google";
    edTableFurl = [];
    edTableFurl[0] = { id: myid,
                       subject: mysubject,
    					  url: myurl
    					  };
    alert("edit url: "+ myurl);
    alert("AFTER: edTableFurl.length: " + edTableFurl.length);

  10. #10
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Points : 41
    Points
    41
    Par défaut
    Ça a l'air d'être bon maintenant, merci !

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

Discussions similaires

  1. [WD12] Etat basé sur un tableau d'objets
    Par Lo² dans le forum WinDev
    Réponses: 1
    Dernier message: 17/06/2009, 11h06
  2. Evenement Click sur un tableau d'objets
    Par the-morpher dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/03/2009, 13h47
  3. delete sur un tableau d'objets dans destructeur
    Par Mihnea24 dans le forum Débuter
    Réponses: 6
    Dernier message: 05/12/2008, 22h42
  4. Réponses: 4
    Dernier message: 30/05/2007, 14h35
  5. Réponses: 13
    Dernier message: 03/04/2006, 10h01

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