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
}
}
}