J'essaye d'itérer sur une liste de «valeur» et de la convertir en chaîne. Voici le code:
var blkstr = $.each(value, function(idx2,val2) {
var str = idx2 + ":" + val2;
alert(str);
return str;
}).get().join(", ");
La fonction alert () fonctionne très bien et affiche la valeur appropriée. Mais d'une manière ou d'une autre, la fonction .get () de jquery n'obtient pas le bon type d'objet et échoue. Qu'est-ce que je fais mal?
Réponses:
Si
value
est un tableau associatif, un tel code fonctionnera bien:(la sortie apparaîtra dans la console de développement)
Comme Felix l'a mentionné, il ne
each()
fait qu'itérer le tableau, rien de plus.la source
La conversion d'un tableau à une chaîne est si simple!
Voilà maintenant A est une chaîne. :)
la source
[1,2,[3]].toString()
, vous obtiendrez1,2,3
, ce qui est assez nul. Cette réponse est juste une pire façon d'écrire le même appel à la même méthode de chaîne native cassée. 42 votes positifs ??['Sunday','Monday','Tuesday','Wednesday','Thursday'].join('');
Array.join()
est certainement la meilleure option, car elle ne concaténera pas simplement les valeurs avec des virgules, mais permettra à l'utilisateur de déterminer comment la concaténation doit être effectuée. Vous pouvez utiliser virgule + espace par exemple.Vous pouvez utiliser
.toString()
pour joindre un tableau avec une virgule.Ou, définissez le séparateur avec
array.join('; '); // result: a; b; c
.la source
Je ne sais pas si c'est ce que vous vouliez mais
Cela se traduit par la sortie suivante:
la source
Quatre méthodes pour convertir un tableau en chaîne.
Coercition sur une chaîne
Appel
.toString()
Rejoindre explicitement en utilisant
.join()
Vous pouvez utiliser d'autres séparateurs, par exemple,
', '
En utilisant
JSON.stringify()
C'est plus propre, car il cite les chaînes à l'intérieur du tableau et gère correctement les tableaux imbriqués.
la source
jQuery.each
est juste en boucle sur le tableau, il ne fait rien avec la valeur de retour ∆ . Vous recherchezjQuery.map
(je pense aussi que c'estget()
inutile car vous n'avez pas affaire à des objets jQuery):DEMO
Mais pourquoi utiliser jQuery dans ce cas?
map
n'introduit qu'un appel de fonction inutile par élément.∆: Il utilise uniquement la valeur de retour, qu'il continue ou non à boucler sur les éléments. Le renvoi d'une valeur «falsifiée» arrêtera la boucle.
la source
map
ifvalue
est un objet jQuery. Et puis vous devriez utiliservalue.map(...).get()
. Mais si vous avez juste un tableau d'objets jQuery, alors vous n'en avez pas besoinget
. Vous êtes le bienvenu :)Utilisez
join()
et le séparateur.Exemple de travail
la source
c'est ma fonction, convertir un objet ou un tableau en json
je viens de modifier en v0.2 ^. ^
la source
J'avais besoin d'un tableau pour devenir une représentation String d'un tableau, je veux dire que j'en avais besoin
peut-être que quelqu'un en a besoin :)
la source
OU
la source
convertir un tableau en une chaîne de paramètres GET qui peut être ajoutée à une URL peut être effectuée comme suit
appelez cette fonction comme
qui redirigera l'utilisateur vers le / site / search? page avec les paramètres get décrits dans le tableau donné à encodeGet.
la source
Ne devrait pas confondre Array avec Lists ... Ceci est une liste: {...} et n'a pas de longueur, ou d'autres propriétés de Array.
Ceci est un tableau: [...] et vous pouvez utiliser des fonctions de tableau, des méthodes et ainsi, comme quelqu'un l'a suggéré ici: someArray.toString ();
"someObj.toString ();" ne fonctionnera simplement sur aucun autre type d'objets, comme les listes. ;-)
la source
Array.prototype.toString ()
La méthode toString () renvoie une chaîne représentant le tableau spécifié et ses éléments.
Syntaxe
Valeur de retour
Une chaîne représentant les éléments du tableau.
pour plus d'informations :
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString
la source
Voici un exemple utilisant des fonctions de soulignement.
La sortie finale serait "moe, larry, curly"
la source