Der Martin: Array mit Array verlinkt ?

Beitrag lesen

Guten Abend,

2 ARRay miteinander verlinkt ??

nodejs v14.18.0
Javascript mir unbekannt

eine kurze formlose Anrede ist nicht zuviel verlangt und kommt bei den Lesern gut an.

'use strict';

var ANZ1=[2,4]; 
var ANZ2=[];
var ANZX=[];

ANZ2=ANZ1;    // ANZ2 erhält von ANZ1 2,4

ANZX=ANZ1;    // ANZX erhält von ANZ1 2,4; ANZX enthält 2,4

console.log("vor 20 ANZ2 "+ANZ2); // hier ANZ2 noch 2,4
Basis=2 (number);
while (Z0 < ANZX.length )     // ANZX[0] 2  ANZ2 2,4 
ANZX[Z0]=  ANZX[Z0]-Basis;    // ANZX[0] 0  ANZ2 0,4
Z0=Z0+1;                                  
  } 

dein ursprüngliches Codebeispiel strotzt nur so von Syntaxfehlern. Zum Beispiel die vielen Punkte oder die fehlenden Kommentarzeichen, oder die fehlende öffnende Klammer bei der while-Schleife. Ich habe das mal weitgehend repariert. Nur die Anweisung

Basis=2 (number)

erschließt sich mir überhaupt nicht.

ANZX enthält 0,2 und EBENSO ANZ2 enthält statt 2,4 0,2 als ob Array ANZX und ANZ2 "verlinkt" sind

Ich bin mir immer noch nicht sicher, ob ich das Problem verstanden habe. Aber bei Zuweisungen von komplexen Datentypen (Array, Object) macht Javascript keine Kopie, sondern weist nur eine Referenz (auf gut Deutsch: einen Zeiger) auf das ursprüngliche Datenobjekt zu. Jegliche Änderungen an der vermeintlichen Kopie wirken dann in Wirklichkeit direkt auf das Original.

Immer eine Handbreit Wasser unterm Kiel
 Martin

--
Wenn ich den See seh, brauch ich kein Meer mehr.