Anzahl verschiedener Elemente eines Arrays

filigrani

Mitglied
Hallo,

Kann mir jemand sagen, wie man aus einem Array die Anzahl an verschiedenen Elementen ausgegeben bekommt?

Also für das Array [1, 3, 5, 3, 8, 1] müsste das Ergebnis 4 sein, da es 4 (vom Wert) verschiedene Elemente beinhaltet.

Danke!
 
Hallo
eine direkte Funktion dafür wüsste ich persönlich nicht, man kann aber mit einem Algorithmus alle doppelten Elemente in ein Array schreiben, fals diese in dem neuen Array noch nicht vorhanden sind, und dann einfach die Länge des neuen Arrays nehmen.
Reicht dir das als Ansatz? Wenn nicht kann ich dir ein kleines Beispiel basteln, hab im MOment nur nicht so viel Zeit.
Gruß
jens
 
Vielleicht nicht die beste Lösung..


-den array erstmal sortieren.
-einen temporären array definieren
-per for schleife die werte des originals überprüfen. Ist der Wert gleich dem vorhergehendem, dann wird er nicht in den temporären Array kopiert. sonst schon.
-die länge des temporären Arrays ermitteln.

in etwa so:
Code:
var orgArray:Array = new Array(1, 3, 5, 3, 8, 1);
var tempArray:Array = new Array();

orgArray.sort();
tempArray[0] = orgArray[0];
for (var i:Number = 1; i<orgArray.length; i++) {
	if (orgArray[i] != orgArray[i-1]) {
		tempArray.push(orgArray[i]);
	}
}

trace(tempArray.length);
Ist jetzt nicht getestet, aber ich bin mir relativ sicher, dass es klappt...
hoffe es hilft
 
Zuletzt bearbeitet:
Zurück