concat (in JavaScript) funktioniert nicht für assoziative arrays
Ich habe ein problem Verkettung von zwei assoziative arrays in JavaScript. Unten ist der Beispielcode:
var firstArray = new Array();
firstArray.c1 = "sam";
firstArray.c2 = "kam";
var secArray = new Array();
secArray.c3 = "sam";
secArray.c4 = "kam";
var res = firstArray.concat(secArray);
Ist das eine bekannte Einschränkung?
Was ist der beste Weg, dies zu erreichen?
- wow.... darf ich wissen, warum zum Teufel bin ich downvoted........ Fragen Frage, ist hier falsch..?? pls Gesicht zeigen ur-ur-Freund.......
- Ich habe nicht wählen Sie nach unten, aber ich denke, es wäre etwas mit der Tatsache zu tun, dass Sie nicht wirklich erklären, das problem, das Sie sehen
- Bruder habe ich all die info, die ich bekam... (die Verkettung von zwei assoziative arrays ).. ist das nicht genug... ppl Fragen zu stellen, weil Sie nicht wissen,.... richtig..
- haben Sie Lesen Sie die stackoverflow.com/faq?
- Sie zeigen nicht, was das Ergebnis war. Sie zeigen nicht, welches Ergebnis Sie hoffen, zu erreichen.
- Ramesh, diese Art der Fragen muss: a) Was Sie versucht haben, b) Was Sie erwartet haben und c) Was actaully passiert ist. Sie nicht liefern b) und c)
- Manchmal bekomme ich gewählt, ohne ersichtlichen Grund, nur weil die Frage/Antwort(vor allem) nicht dazu passen einige Leute Gehirne.. ich denke, es ist der Preis für eine große Demokratische Q/A ' s Website
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie nicht mit
Array
Funktionalität - nurObject
Funktionalität. In JavaScriptObject
ist ein assoziatives array verwenden SieArray
für array über Integer indiziert. Wenn du das getan hastdann
concat
funktionieren würde wie erwartet.Wenn Sie wirklich wollen, zu verschmelzen assoziativen arrays tun:
Dies wird natürlich überschreiben vorhandene Schlüssel in
dest_array
was haben die Kollegen insrc_array
.Versuchen, diese,
JavaScript nicht assoziative arrays, es hat Objekt-hashes. Sie erstellen ein array und zuweisen von Werten zu einigen der Eigenschaften, die nicht in dem array selbst.
Ihre concat funktioniert nicht, weil die Werte der Objekteigenschaften. Zu tun, ein concat die Art und Weise Sie es haben, werden Sie brauchen, um zu kombinieren die zwei Objekte. YUI, jQuery und andere JavaScript-frameworks stellen hilfreiche Methoden, um genau das zu tun.
Streng genommen diejenigen, die nicht assoziative arrays überhaupt: Sie sind arrays der Länge null, mit zusätzlichen Eigenschaften bezeichnet. Zuweisen von Eigenschaften funktioniert, weil arrays sind auch Objekte in JavaScript; aber das heißt nicht, dass Sie ein assoziatives array. Es ist besser, sich auf Sie als hashes.
Array-Methoden wie
concat
funktioniert nur mit den numerisch indizierten Elemente des arrays, nicht mit den Eigenschaften von Objekten - auch wenn diese Objekte zufällig arrays.Arrays in JavaScript nur numerische keys. Nur Objekte können nicht numerische Eigenschaften. Also versuchen Sie dies: