Hvorfor findes Array.clone() ikke?
Hej.Denne kode viser tydeligt, hvad mit problem er:
---
var A:Array = [1, 2, 3];
var B:Array = [];
Change_A();
trace(A);
trace(B);
function Change_A():void {
B = A;
A[0] = 4;
A[1] = 5;
A[2] = 6;
}
---
Hvorfor ændres B sammen med B? Det, kan jeg regne ud, er på grund af linjen B = A - men hvorfor? Sådan er det jo ikke med strings og sådan. Og hvordan kommer jeg nemmest muligt uden om det? Jeg tænker, jeg kan lave noget a là:
---
function Change_A():void {
B = new Array().concat(A);
A[0] = 4;
A[1] = 5;
A[2] = 6;
}
---
Men det kan ikke passe, det skal være min løsning. Det er jo ulækkert.