Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/07/2011, 21h25   #1
Invité de passage
 
Homme
Développeur Web
Inscription : juillet 2011
Messages : 13
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juillet 2011
Messages : 13
Points : 0
Points : 0
Par défaut Object.prototype.isin = function()

Bonsoir,

j'ai écrit la fonction suivante :

Code :
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 :
1
2
tagname='INPUT'
tagname.isin(['INPUT','TEXTAREA'])
cela renvoie : false.

En effet :
Code :
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.
sacapuss2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2011, 23h50   #2
Expert Confirmé Sénior
 
Avatar de Auteur
 
Inscription : avril 2004
Messages : 4 794
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 4 794
Points : 5 118
Points : 5 118
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 ?
Auteur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2011, 09h08   #3
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 774
Points : 4 774
Bonjour,
Citation:
Envoyé par sacapuss2
Une suggestion ?
utilises les opérateurs de comparaison comme il faut...
Code :
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
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2011, 16h52   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 019
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 019
Points : 45 114
Points : 45 114
tu prototypes object et tu testes sur un string ...

Code :
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
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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h14.


 
 
 
 
Partenaires

Hébergement Web