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 :

Impossible de vider un Array


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 6
    Par défaut Impossible de vider un Array
    Bonjour a tous,

    Voilà je vous expose mon soucis. J'essaie de faire un script qui sur l'évènement onkeyup stocke les lettres frappées dans un textarea et dès qu'il détecte la touche "Entrée" ou "espace", il change la couleur du mot stocké puis vide l' array pour attaquer un nouveau mot. Tout se passe correctement, sauf que l'Array ne se vide pas et pourtant j'ai essayé de divers façons! je ne comprends pas pourquoi!
    voici la partie concernée:

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    /* script Javascript LSL encoding Highlighting */
     
    var EntireWords=[];
    var LastLetter;
    var CheckWord;
    var sentence =[];
    var npos = -1;
    var SOFT_BREAK = '\0';
    var NEWLINE_BREAK = '\n';
    var StartWord;
    var EndWord;
    var Value;
    var last;
    var lastpos;
    var charCode;
     
    Array().prototype.clean = function()
         {this.splice(0,this.length);
          alert(EntireWords.toString());}
     
    /*#Brief: Reset Action to start another word
     *#Action: Resets all params except the sentence.
     */
     function ResetWord()
     {
    	StartWord = npos;
    	EndWord = npos;
    	LastLetter = "";
    	EntireWords.clean();
     
     
    }
    function ResetAll()
     {
    	StartWord = npos;
    	EndWord = npos;
    	LastLetter = "";
    	EntireWords.clean();
    	sentence.length.clean();
    }
    j'ai aussi essayé une façon moins propre de vider l'array: EntireWords.length=0
    et j'ai aussi essayé EntireWords =new Array(); et meme EntireWords=[];
    bref je ne vois plus de solution aidez moi ça fait deux jours que je suis sur cette fonction

  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
    Array().prototype.clean = function()
    Tu ne peux pas modifier this dans un prototype.

    Tu peux le faire dans une fonction.
    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
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 6
    Par défaut
    Merci pour la rapidité! Est ce que vous auriez donc un exemple pour la bonne solution s'il vous plait?

  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 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
    de plus ce serait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Array.prototype.clean = function()
         {this=new Array()};
     
    foo=[1,2,3,5,6]
    foo.clean()
    alert(foo)
    qui retournera une erreur d'affectation sur this


    le plus simple est de faire directement
    pour le vider ...
    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 !

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 6
    Par défaut
    Merci je vais essayer !

    mais comme je l'ai dit plus haut:
    j'ai aussi essayé une façon moins propre de vider l'array: EntireWords.length=0
    et j'ai aussi essayé EntireWords =new Array(); et meme EntireWords=[];
    bref je ne vois plus de solution aidez moi ça fait deux jours que je suis sur cette fonction
    j'ai déjà essayé les solutions les plus courantes c'est pour cela que j'avais besoin d'un regard neuf^^ je vous tiens au courant si cela fonctionne ou pas

  6. #6
    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
    foo=[1,2,3,5,6]
    foo=new array()
    alert(foo)
     
    foo=[1,2,3,5,6]
    foo=[]
    alert(foo)
    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 !

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 6
    Par défaut
    Cela fonctionne Enfin!! j'avais en fait un soucis un peu plus haut dans le script ce qui figeais le reste des fonctions.. Et j'ai effectivement dû employer le "monarray=[];" pour que cela fonctionne. Je me pose tout de meme la question est ce une bonne solution surtout quand on lit sur d'autres forum comme celui en lien juste après que cela n'efface pas vraiement le tableau ... bref merci pour cette réponse je peux enfin continuer mon script au bout de 2 jours de dures recherches

    http://stackoverflow.com/questions/1...-in-javascript

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

Discussions similaires

  1. [XL-2003] impossible de créer une "array formula"
    Par anita07 dans le forum Excel
    Réponses: 5
    Dernier message: 05/01/2010, 10h51
  2. [WD10] Impossible de vider le cache internet
    Par Père Mich dans le forum WinDev
    Réponses: 2
    Dernier message: 24/08/2009, 15h47
  3. Impossible de vider la poubelle ?
    Par gifffftane dans le forum KDE
    Réponses: 1
    Dernier message: 02/12/2007, 10h45
  4. [Tableaux] Commande pour vider un 'array'
    Par bastien dans le forum Langage
    Réponses: 4
    Dernier message: 29/11/2007, 17h17
  5. [POO] vider un array membre de classe
    Par jlf dans le forum Langage
    Réponses: 2
    Dernier message: 20/10/2005, 10h54

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