Hi
ich habe keine Hoffnung dass es geht, aber vielleicht belehrt ihr mich ja eines besseren.
JS kennt keine List-Assignments von Arrays wie in Perl, also
$a=[1,2,3];
$b=[4,5,6];
$c=$a;
@$a=@$b;
if ($c == $a) { print "Klappt, keine neue Referenz, \$a zeigt auf das alte Array"}
Ich habe mir dazu slice angeschaut, aber dort müsste ich die neuen Elemente einzeln auflisten, ich kann b nicht zu einer Liste abflachen (wie mit @$b in Perl)
a.splice(0,a.length,4,5,6)
Auch concat oder slice helfen mir nicht weiter, weil hierbei neues Arrays erzeugt werden, d.h. die alten Referenzen nicht mehr stimmen:
a=[1,2,3];
b=[4,5,6];
c=a=[];
a=b.slice(0);
if (c != a) { alert( "klappt nicht" ) }
Hat jemand vielleicht ne gute Idee wie man performant umkopieren kann, ohne eine explizite Schleife dafür schreiben zu müssen?
Grüße
Rolf