array variable ändert sich bei änderung anderer Variable
iceer
- javascript
Hallo ihr lieben,
ich habe folgenden Code "gebastelt".
Mein Problem ist:
das Array da ändert sich mit wenn ich splice auf das Array dr anwende.
Genau dies versuche ich allerdings mit dieser zweiten Variablen zu umgehen, da ich das array da später genau so brauche wie es ist.
kann mir irgendjemand helfen?
ich setze ja nicht da=dr sondern dr = da.
Für mich ist das nun verwunderlich....
es ist ja ausserhalb der for schleifen, sonst würde ich das ganze verstehen...
Kann mir vielleicht jemand auch erklären warum das so ist?
Ich würde ja bestimmt keine zweite Variable deklarieren, wenn ich die erste ändern wollen würde...
var da=["banane","apfel","kirsche"];
if (window.location.href.match('Früchteauswahl')) {
var dr = da;
var asd =[];
for (var i = 1; i < document.getElementsByTagName('table')[3].getElementsByTagName('tr').length; i++)
{
asd.push(document.getElementsByTagName('table')[3].getElementsByTagName('tr')[i].getElementsByTagName('td')[0].getElementsByTagName('a')[0].innerHTML);
}
alert(da.length);
for (var y = 0; y < asd.length; y++){
if(dr.indexOf(asd [y]) != -1){
dr.splice(dr.indexOf(asd [y]),1);
}
}
alert(da.length);
alert(dr.length)
}
Tach!
das Array da ändert sich mit wenn ich splice auf das Array dr anwende.
Genau dies versuche ich allerdings mit dieser zweiten Variablen zu umgehen
Damit legst du eine Referenz an. Du musst das Array kopieren. Die Methode slice() ohne Parameter eignet sich dafür.
dedlfix.
Vielen vielen Dank
Bäume Wald sehen und so
gelöst