Mssmar: Werte eines Arrays auslesen und die redunanten entfernen

Beitrag lesen

Hallo,

  
...  
   if ( 0 == seen[ liste[i] ]++ ) {  
...  

Wenn ich Dich hier richtig verstehe, dann sollte die 0 da oben innerhalb der If-Abfrage das erste Index/Element in die Liste.

Aber hier wo ich Deinen Lösungsvorschlag versuche zu verwenden, erhalte ich beim zweiten alert(); gar nichts. D.h. der Fall mit der If-Abfrage
tritt gar nicht auf oder ich habe hier was Du mit dem 0 tust falsch verstanden.

  
function showModell() {  
 this.choosenCar = document.cars.aktAutomarke.options[document.cars.aktAutomarke.options.selectedIndex].value;  
  
 alert(choosenCar);  
 document.cars.autoModell.options.length=0;  
 for(i=0; i<autos.length; i++) {  
  if (autos[i][0] == choosenCar){  
   document.cars.autoModell.options[document.cars.autoModell.options.length] =  
      new Option(autos[i][1],autos[i][1]);  
  }  
 }  
  
 var seen = new Array();  
 this.choosenModell1 = document.cars.autoModell.options;  
 for (var k = choosenModell1.length; k--;) {  
   alert(choosenModell1[k]);  
   if (0 == seen[choosenModell1[k]]++) {  
     // Dieser Eintrag ist neu  
  alert("zweite alert mit dem neuen Wert: " + choosenModell1[k]);  
  // Hier also hinzufügen  
   }  
   else {  
    alert("Dieser Wert ist schon vorhanden: " + choosenModell1[k]);  
     // Dieser Eintrag trat zum seen[ liste[i] ]ten Male auf  
   }  
 }  
  
}