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 :

M�thode filter de l'objet array


Sujet :

JavaScript

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Par d�faut M�thode filter de l'objet array
    Bonjour,

    J'essaie de faire fonctionner ce petit programme sur IE 8 et j'ai un message d'erreur

    "Cet objet ne g�re pas cette propri�t� ou cette m�thode"

    La M�thode filter de l'objet array est-elle compatible avec IE 8

    Voici le script:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    function isBigEnough(element, index, array) {   
      return (element >= 10);   
    }   
    var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);

    Merci d'avance

  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
    filter est propri�taire ffx ...
    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
     
    <script type="text/javascript">
    function isBigEnough(value,limit){
    return (value>limit)
    }
     
    Array.prototype.MyFilter=function(filtre) {   
    var temparray=new Array();
    var i=0
    while(this[i++]){
    alert(filtre(this[i-1],10))
    if (filtre( this[i-1],10)){temparray.push(this[i-1])}
    }  
    return temparray;
    }
     
    var filtered = new Array(12, 5, 8, 130, 44).MyFilter(isBigEnough);  
     
    alert(filtered)</script>
    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 Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    D�tails du profil
    Informations personnelles :
    �ge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par d�faut
    Salut,

    Pour �tre un tout petit peu plus pr�cis , filter est d�fini dans JavaScript 1.6, pas encore impl�ment� par certains navigateurs dont IE, et partiellement par d'autres, dont Chrome.

    ERE

  4. #4
    Inactif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    63
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Par d�faut
    Pour �tre encore plus pr�cis et rigoureux je conseille de prendre l'impl�mentation filter fournie sur le site de MDC :
    https://developer.mozilla.org/en/Cor...s/Array/filter

    et d'autre part l'appeler filter et non myfilter, en testant si cette methode existe sur Array.prototype comme le fait MDC.
    Ci dessous le code fourni dans le lien indiqu� ci-dessus.

    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
    if (!Array.prototype.filter)
    {
      Array.prototype.filter = function(fun /*, thisp*/)
      {
        var len = this.length >>> 0;
        if (typeof fun != "function")
          throw new TypeError();
     
        var res = [];
        var thisp = arguments[1];
        for (var i = 0; i < len; i++)
        {
          if (i in this)
          {
            var val = this[i]; // in case fun mutates this
            if (fun.call(thisp, val, i, this))
              res.push(val);
          }
        }
     
        return res;
      };
    }
    Donc spacefrog je te conseille de plut�t indiquer cet exemple que le tiens qui m�me s'il reste correct ne permettra pas d'utiliser filter tel qu'il est norm� dans javascript 1.6

  5. #5
    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
    N.B. je ne cherchais pas � �muler le filter, mais juste proposer une solution repondant � la question filtrer un array avec une fonction > 10
    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 !

  6. #6
    Inactif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    63
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Par d�faut
    Citation Envoy� par SpaceFrog Voir le message
    N.B. je ne cherchais pas � �muler le filter, mais juste proposer une solution repondant � la question filtrer un array avec une fonction > 10
    Tu me copieras 100x :
    Je ne dois pas mettre de majuscule au nom de ma m�thode.

  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
    justement moi je pr�f�re MyFilter
    au moins c'est pas ambigu, c'est pas natif ..
    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
    Inactif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    63
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Par d�faut
    Citation Envoy� par SpaceFrog Voir le message
    justement moi je pr�f�re MyFilter
    au moins c'est pas ambigu, c'est pas natif ..
    Quand on met une majuscule c'est pour d�signer une classe. Mais surtout pas pour d�signer une fonction ou la m�thode d'une classe.

  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 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
    Accad�miquement, et ce ne sont que des conventions de casse ...
    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 !

  10. #10
    Inactif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    63
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Par d�faut
    Citation Envoy� par SpaceFrog Voir le message
    Accad�miquement, et ce ne sont que des conventions de casse ...
    Convention de programmation surtout

    package : commence par une minuscule
    Classe : commence par une majuscule
    methode ou fonction ou variable : commence par une minuscule
    CONSTANTE : tout en majuscule

    Ca c'est en g�n�ral hein, apr�s dans d'autres langages peut etre qu'ils y a d'autres m�thodes. Mais quand d�j� tu appliques �a, c'est d�ja bien :o

    si ces conventions ont �t� faites c'est justement pour qu'on se retrouve pas avec une souple illisible � chaque fois que quelqu'un reprendre le code d'un autre.

  11. #11
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    D�tails du profil
    Informations personnelles :
    �ge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par d�faut
    Salut,

    Citation Envoy� par Gsnalf Voir le message
    Convention de programmation surtout
    package : commence par une minuscule
    Classe : commence par une majuscule
    methode ou fonction ou variable : commence par une minuscule
    CONSTANTE : tout en majuscule

    (...)
    Toutes ces histoires de conventions deviennent hors sujet dans ce post. A la limite tu en cr�es un nouveau, mais avant tout, prendre connaissance de ce qui a �t� d�battu dans le post "Bonnes pratiques de Javascript" o� sont abord�s ces sujets, la notation hongroise, camelcase etc...

    ERE

  12. #12
    Membre �clair�
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Par d�faut
    Bonjour,

    et merci pour toutes ces pr�cisions.

    Je ne pensais cependant pas d�clarer "la guerre des conventions" en postant cette question.

    Merci encore. A bient�t pour une question...plus consensuelle.

  13. #13
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Citation Envoy� par michelp3 Voir le message
    A bient�t pour une question...plus consensuelle.
    Aucun probl�me : la question n'est pas en cause

    A+

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [POO] ajout m�thodes sur l'objet Array
    Par kimcharlene dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 24/04/2008, 16h40
  2. [c#] M�thode d'acc�s aux objets de ma form1
    Par SDuh dans le forum Windows Forms
    R�ponses: 5
    Dernier message: 21/03/2006, 11h21
  3. [VBA-E]La m�thode 'Range' de l'objet '_Global' a �chou�
    Par repi� dans le forum Macros et VBA Excel
    R�ponses: 5
    Dernier message: 22/02/2006, 16h00
  4. R�ponses: 4
    Dernier message: 20/01/2006, 15h53
  5. M�thode Free d'un objet
    Par WebPac dans le forum Composants VCL
    R�ponses: 3
    Dernier message: 12/10/2004, 15h28

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