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 :

Object.prototype.isin = function()


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2011
    Messages : 19
    Par défaut Object.prototype.isin = function()
    Bonsoir,

    j'ai écrit la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Object.prototype.isin=function() 
    { 
    for(var i in arguments[0]) if(arguments[0][i]===this) return true
    return false 
    }
    pour déterminé si un "machin" est dans un autre.

    Or, si je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tagname='INPUT'
    tagname.isin(['INPUT','TEXTAREA'])
    cela renvoie : false.

    En effet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Object.prototype.isin=function() 
    { 
    for(var i in arguments[0]) 
    {
    alert(typeof arguments[0][i]) // 'string'
    alert(typeof this) // 'object'
    }
    }
    Une suggestion ?

    Merci.

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonsoir,

    Citation Envoyé par sacapuss2 Voir le message
    pour déterminé si un "machin" est dans un autre.


    Or, si je fait :
    tagname='INPUT'
    tagname.isin(['INPUT','TEXTAREA'])
    cela renvoie : false.

    En effet :
    Object.prototype.isin=function()
    {
    for(var i in arguments[0])
    {
    alert(typeof arguments[0][i]) // 'string'
    alert(typeof this) // 'object'
    }
    }
    j'avoue ne pas avoir compris ton problème
    Qu'appelles-tu un "machin" ?
    Qu'est sensé faire cette fonction ?

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    Citation Envoyé par sacapuss2
    Une suggestion ?
    utilises les opérateurs de comparaison comme il faut...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Object.prototype.isin=function(){ 
      for(var i in arguments[0])
        if(arguments[0][i] == this) // pas de comparaison stricte
          return true
      return false 
    }
    sinon il existe
    Fonction inArray pour chercher dans un tableau

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    tu prototypes object et tu testes sur un string ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    String.prototype.isin=function() 
    { 
    var flag=false
    var i=-1
    while(arguments[0][++i]){
    		if(arguments[0][i]==this){ 
    				flag=true}
    		}
    return flag
    }
     
    tagname='INPUT'
    alert(tagname.isin(['INPUT','TEXTAREA']))
    quoique ça fonctionne aussi avec Object, le souci provient de la boucle ...
    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 !

Discussions similaires

  1. Conflit jQuery et Object.prototype ?
    Par xerel dans le forum jQuery
    Réponses: 2
    Dernier message: 02/09/2013, 16h14
  2. Node. prototype. imagepoper=function(src)
    Par sacapuss2 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/12/2011, 11h09
  3. String.prototype.httper=function(requeteur,methode,url)
    Par sacapuss2 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/09/2011, 21h57
  4. Object.prototype sous IE
    Par cetoto dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 14/01/2008, 16h05

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