cs_roro06
Messages postés732Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention29 octobre 2007
-
16 nov. 2006 à 15:21
cs_roro06
Messages postés732Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention29 octobre 2007
-
17 nov. 2006 à 09:24
Bonjour
Je viens de me rendre compte (non sans effroi, mais en tout cas avec stupeur) que l'objet (ou la collection) arguments n'était pas de type Array, malgré les apparences. Du coup, impossible de lui appliquer la méthode join(). Quelqu'un aurait-il un équivalent de cette méthode ?
(évidemment, sans passer par une boucle du genre for (var i=0; i
rubiks10
Messages postés224Date d'inscriptionlundi 19 décembre 2005StatutMembreDernière intervention 6 juin 20073 16 nov. 2006 à 23:56
Salut oui moi j'ai résolu le problème depuis longtemps au moyen d'une petite fonction perso que j'inclut dans tous mes projets JavaScript.
Car il n'y a pas que arguments qui est une sorte d'array le résultat d'un getElementsTagName également etc...
Voila ma petite fonction perso que tu peux inclure et utiliser ensuite
function toArray(collection) { var array [], i 0;
while(collection[i]) array.push(collection[i++])
return array;
}
Puis maintenant si tu veux faire ton join tu n'as plus qu'à faire : toArray(arguments).join()
cs_roro06
Messages postés732Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention29 octobre 2007 17 nov. 2006 à 09:24
Bonjour
Nickadele --> Oui, j'ai toujours pensé que c'était un Array, jusqu'au moment où ...! et toutes les docs le donne pour Array, mais si on fait : alert(typeof(arguments)), il retourne bien Object
Rubiks10 --> j'ai fait à peu près la même chose :
Object.prototype.toArray=function()
{
if (this.length)
{
var args=this;
var bid=new Array();
for (var i=0; i