Array Vergleich
Thorsten F.
- javascript
Hallo Leute,
ich habe folgendes Problem:
Und zwar:
Ich habe ein Array "zahlen" in dem 4 Werte enthalten sind.
Zum Beispiel: 1,5,3,1
So, jetzt möchte ich gerne eine Funktion haben, die mir ausgibt:
zahlen[0] ist der identische Wert wie zahlen[3].
Habe das zwar schonmal hinbekommen; allerdings war der Code riesig, weil ich praktisch jedem Wert im Array mit jedem verglichen habe und das kanns ja nicht sein oder?
Grüße,
Thorsten F.
So, jetzt möchte ich gerne eine Funktion haben, die mir ausgibt:
zahlen[0] ist der identische Wert wie zahlen[3].
document.write("zahlen[0] ist der identische Wert wie zahlen[3].")
SCNR.
Thorsten,
Was genau möchtest du? Alle Paare mit gleichem Wert ausgeben?
Dann:
jedem Wert im Array mit jedem verglichen habe und das kanns ja nicht sein oder?
Doch, das ist es. Allerdings musst du nicht doppelt vergleichen; wenn du zahlen[i] schon mit zahlen[j] verglichen hast, musst du nicht nochmal zahlen[j] mit zahlen[i] vergleichen.
Habe das zwar schonmal hinbekommen; allerdings war der Code riesig
Wenn du zwei for-Schleifen schachtelst, ist der Code winzig.
Live long and prosper,
Gunnar
Und wie in etwa müssten die beiden for-schleifen dann aussehen, wenn ich mal fragen darf?
Kann mir das grad nicht vorstellen.
Gruß,
Thorsten F.
Thorsten,
Und wie in etwa müssten die beiden for-schleifen dann aussehen, wenn ich mal fragen darf?
Kann mir das grad nicht vorstellen.
Du vergleichst entweder die mit x oder die mit o markierten Paare
1 2 3 4 … n-1 n
1 x x x … x x
2 o x x … x x
3 o o x … x x
⋮ ⋱
n o o o o … o
Also
for(var i = …; i < …; i++)
for(var j = …; j < …; i++)
if(zahlen[i] = zahlen[j])
document.write("zahlen[" + i + "] ist der identische Wert wie zahlen[" + j + "].");
Die Schleifengrenzen findest du self? (Denn so nennt sich dies Forum.)
Live long and prosper,
Gunnar
1 2 3 4 … n-1 n
1 x x x … x x
2 o x x … x x
3 o o x … x x
⋮ ⋱
n o o o o … o
(Notwendige?) Ergänzung: In JavaScript beginnt die Zählung der Array-Indizes bei 0.
Live long and prosper,
Gunnar