Ich versuche, eine "Wert" -Liste zu durchlaufen und sie in eine Zeichenfolge umzuwandeln. Hier ist der Code:
var blkstr = $.each(value, function(idx2,val2) {
var str = idx2 + ":" + val2;
alert(str);
return str;
}).get().join(", ");
Die Funktion alert () funktioniert einwandfrei und zeigt den richtigen Wert an. Aber irgendwie bekommt die .get () -Funktion von jquery nicht die richtige Art von Objekt und schlägt fehl. Was mache ich falsch?
Antworten:
Wenn
value
es sich um ein assoziatives Array handelt, funktioniert dieser Code einwandfrei:(Ausgabe wird in der Entwicklungskonsole angezeigt)
Wie Felix erwähnte,
each()
iteriert er nur das Array, nichts weiter.quelle
Das Konvertieren von Array zu String ist so einfach!
Das war's Jetzt ist A eine Saite. :) :)
quelle
[1,2,[3]].toString()
, werden Sie bekommen1,2,3
, was ziemlich Müll ist. Diese Antwort ist nur eine schlechtere Möglichkeit, denselben Aufruf an dieselbe fehlerhafte native Zeichenfolgenmethode zu schreiben. 42 positive Stimmen?['Sunday','Monday','Tuesday','Wednesday','Thursday'].join('');
Array.join()
ist definitiv die beste Option, da Werte nicht einfach mit Kommas verkettet werden, sondern der Benutzer bestimmen kann, wie die Verkettung erfolgen soll. Sie können beispielsweise Komma + Leerzeichen verwenden.Sie können
.toString()
ein Array mit einem Komma verbinden.Oder setzen Sie das Trennzeichen mit
array.join('; '); // result: a; b; c
.quelle
Ich bin mir nicht sicher, ob du das wolltest, aber
Dies führt zu folgender Ausgabe:
quelle
Vier Methoden zum Konvertieren eines Arrays in eine Zeichenfolge.
Zu einer Schnur zwingen
Berufung
.toString()
Explizites Beitreten mit
.join()
Sie können andere Trennzeichen verwenden, z.
', '
Verwenden von
JSON.stringify()
Dies ist sauberer, da es Zeichenfolgen innerhalb des Arrays zitiert und verschachtelte Arrays ordnungsgemäß behandelt.
quelle
jQuery.each
Schleift nur über das Array, es macht nichts mit dem Rückgabewert ∆ . Sie suchenjQuery.map
(ich denke auch, dass diesget()
unnötig ist, da Sie sich nicht mit jQuery-Objekten befassen):DEMO
Aber warum sollte man in diesem Fall überhaupt jQuery verwenden?
map
führt nur einen unnötigen Funktionsaufruf pro Element ein.∆: Es wird nur der Rückgabewert verwendet, ob die Elemente weiterhin durchlaufen werden sollen oder nicht. Die Rückgabe eines "Falsy" -Werts stoppt die Schleife.
quelle
map
wennvalue
es sich um ein jQuery-Objekt handelt. Und dann solltest du verwendenvalue.map(...).get()
. Wenn Sie jedoch nur ein Array von jQuery-Objekten haben, benötigen Sie keineget
.Verwenden Sie
join()
und das Trennzeichen.Arbeitsbeispiel
quelle
Dies ist meine Funktion, konvertiere Objekt oder Array in JSON
Ich bearbeite nur auf v0.2 ^. ^
quelle
Ich brauchte ein Array, um eine String-Darstellung eines Arrays zu werden. Ich meine, ich brauchte das
vielleicht braucht es jemand :)
quelle
ODER
quelle
Das Konvertieren eines Arrays in eine GET-Parameterzeichenfolge, die an eine URL angehängt werden kann, kann wie folgt erfolgen
Nennen Sie diese Funktion als
Was leitet den Benutzer an die / site / search weiter? Seite mit den get-Parametern, die in dem für encodeGet angegebenen Array aufgeführt sind.
quelle
Sollte Arrays nicht mit Listen verwechseln ... Dies ist eine Liste: {...} und hat keine Länge oder andere Array-Eigenschaften.
Dies ist ein Array: [...] und Sie können Array-Funktionen, Methoden usw. verwenden, wie hier vorgeschlagen: someArray.toString ();
"someObj.toString ();" funktioniert einfach nicht bei anderen Objekttypen wie Listen. ;-);
quelle
Array.prototype.toString ()
Die toString () -Methode gibt eine Zeichenfolge zurück, die das angegebene Array und seine Elemente darstellt.
Syntax
Rückgabewert
Eine Zeichenfolge, die die Elemente des Arrays darstellt.
für mehr Informationen :
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString
quelle
Hier ist ein Beispiel mit Unterstrichfunktionen.
Die endgültige Ausgabe wäre "moe, larry, curly".
quelle