Assoziatives Array in Javascript kopieren?

7

Ich habe den folgenden Code zum Kopieren eines assoziativen Arrays zu anderen,

%Vor%

Aber die zweite Warnung sagt "undefined" .. Mache ich hier etwas falsch? Irgendwelche Hinweise bitte ..

    
Naveen 22.04.2012, 18:15
quelle

4 Antworten

17

In JavaScript werden assoziative Arrays Objekte genannt.

%Vor%

Normalerweise würde ich var copy_db = $.extend({}, some_db); verwenden, wenn ich jQuery verwende.

Geigenprobe: Ссылка

Danke @maja.

    
iambriansreed 22.04.2012, 18:23
quelle
4

Wie @Niko im Kommentar sagt, gibt es in JavaScript keine assoziativen Arrays.

Sie legen Eigenschaften für das Array-Objekt fest, was keine gute Idee ist. Sie wären besser dran mit einem tatsächlichen Objekt.

%Vor%

Viele Bibliotheken implementieren eine Funktion extend , die genau dies tut (Kopieren von Schlüsseln von einem Objekt zu einem anderen). Vor allem jQuery und unterstreichen .js . Underscore hat auch _.clone( obj ) , was effektiv _.extend( {}, obj )

ist     
gnarf 22.04.2012 18:21
quelle
2

Wenn Sie JSON verwenden möchten, können Sie dieses "assoziative Array" -Objekt verwenden:

var assArray = {null: 0, eins: 1, zwei: 2, drei: 3, was: 'immer', du: 'willst'};

und klon 'es so:

var clonedObj = JSON.parse (JSON.stringify (assArray));

    
2strokeMotor 15.01.2014 20:24
quelle
0

underscore.clone ( Ссылка ) könnte helfen. Es führt eine flache Kopie zum Wörterbuchobjekt oder -array durch.

%Vor%     
jichi 19.04.2013 19:13
quelle

Tags und Links