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

Bibliothèques & Frameworks Discussion :

Array.prototype.length ? stack overload.


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 Array.prototype.length ? stack overload.
    Bon ce post découle d'un autre post ...

    le prototype en question permet de calucler la longueur d'un array littéral lorsque celui-ci utilise des integer comme indice car javascript retourne l'incide le plus élévé augmenté de 1 comme longueur de l'array ...


    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
    var Pl=????????
     
    function ArrayLength(){var lg=0-Pl;
    			for (ind in this){
    								 lg++
    								}
    			return lg;}
     
    Array.prototype.MyLength=ArrayLength
     
     
    var tabAssDom= new Array() 
    tabAssDom[30] = "abc"
    tabAssDom[25] = "dbc"
    tabAssDom[25] = "dbc"
     
    var a=tabAssDom.MyLength()
    alert (a)
     
     
    alert (Array.prototype.MyLength())
    la problématique ici serait de pouvoir initialiser le à 0- nombre de prototype de l'array sinon la boucle for retouren en plus des indices les prototypes ...
    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 !

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 870
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 870
    Par défaut
    Salut,

    Je n'ai pas bien compris le problème, car ta dernière phrase est bizarre Mais peut-être dois-tu ajouter un attribut à ton prototype qui sera utilisé pour chaque instance non ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 144
    Par défaut
    Tu veux retourner un tableau avec les indices présents si il y en a ? sur lequel tu pourrais faire un simple .length pour connaitre la taille de celui ci et donc la taille du précédent ?

  4. #4
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par SpaceFrog
    la problématique ici serait de pouvoir initialiser le à 0- nombre de prototype de l'array sinon la boucle for retouren en plus des indices les prototypes ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(ind.startWith("prototype.")) {...
    Ca suffit pas, ça?

  5. #5
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Citation Envoyé par denisC
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(ind.startWith("prototype.")) {...
    Ca suffit pas, ça?
    ou alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (Array.prototype[key] != this[key]) { count++: }
    ???

  6. #6
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    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
    function ArrayLength(){
    	var lg=0;
    	var nom="";
     
    	for (ind in this){
    		if(this.hasOwnProperty(ind)){
    			lg++;
    			nom+=ind + ", ";
    		}
    	}
     
    	nom=nom.replace(/, $/,"");
    	return  "ce tableau contient " + lg + " indices déclarés (" + nom + ")";
    }
     
    Array.prototype.MyLength=ArrayLength
     
     
    var tabAssDom= new Array() 
    tabAssDom[30] = "abc"
    tabAssDom[25] = "dbc"
    tabAssDom[25] = "dbc"
     
    alert (tabAssDom.MyLength())
    ainsi, tu comptes uniquement les entrées dans le tableau et tu élimines les doublons;

  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 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
    Je suis resté plus basique ... je me compliquais l'existance à vouloir utiliser le prototype lui même pour obtenir le nombre de prototypes ...
    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
    <script type='text/javascript'>
    Array.prototype.MyLength=ArrayLength
    var Pl=0
    for (proto in Array.prototype){Pl++}
     
    function ArrayLength(){var lg=0-Pl;
    			for (ind in this){
    								 lg++
    								}
    			return lg;}
     
     
     
     
    var tabAssDom= new Array() 
    tabAssDom[30] = "abc"
    tabAssDom[25] = "dbc"
    tabAssDom[15] = "dbc"
     
    var a=tabAssDom.MyLength()
    alert (a)
    </script>
    par contre ce qui me parait curieux est qu'il accepte la définition du prototype avant que la fonction n'existe ???
    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 !

  8. #8
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par SpaceFrog
    par contre ce qui me parait curieux est qu'il accepte la définition du prototype avant que la fonction n'existe ???
    Typique de JS : il s'en inquietera quand il aura besoin de l'appeller. C'est juste un identifiant de référence vers la méthode, peut importe si à ce moment là, la méthode n'existe pas encore....

    De la même façon, tu peux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function a() {
      return b();
    }
    function b() {
      return 1;
    }
    Pourtant, au moment de définir a, b n'existe pas. Et ça ne t'etonne pas que ça marche

  9. #9
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Citation Envoyé par SpaceFrog
    je me compliquais l'existance à vouloir utiliser le prototype lui même pour obtenir le nombre de prototypes ...
    certes, mais je voulais dire qu'avec ce code, toutes les propriétés autres que les entrées du tableau sont éliminées d'office;

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

Discussions similaires

  1. array prototype pour copier un autre tableau
    Par topolino dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/02/2015, 16h15
  2. Réponses: 4
    Dernier message: 27/10/2008, 07h27
  3. Array.prototype et tableaux associatifs : Bizarre, Bizarre ..
    Par roro06 dans le forum Bibliothèques & Frameworks
    Réponses: 6
    Dernier message: 23/10/2008, 11h26
  4. [Prototype] Arrays et les For..in
    Par lvr dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 14/10/2007, 23h43
  5. variable length arrays
    Par yan dans le forum C
    Réponses: 4
    Dernier message: 12/09/2007, 23h08

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