Avatar billede jss Nybegynder
24. august 2005 - 12:47 Der er 14 kommentarer og
1 løsning

Vis dubletter i array

Hejsa

Hvordan kan man tjekke for dubletter i et array (uden at slette dem)? Jeg vil gerne have vist dubletter på skærmen, så jeg kan lave    nogle yderligere ting med dem.
Jeg har haft fat i hasDups og remDups, samt Scripting.Dictionary, men har endnu ikke fundet en løsning ...
Avatar billede busschou Praktikant
24. august 2005 - 12:53 #1
hasDups og remDups ? Det er vist hjemmelavede funktioner :o)
Du kan altid slavisk selv løbe et array igennem for at finde positioner for dubletter det er der intet problem i.
Men hvis du har overvejet scripting.dictionary så skal det hele nok laves i det frem for i arrays
---
en simpel men ikke perfekt manuel løsning
---
for i = 0 to ubound(ditArr)
  for j = i+1 to ubound(ditArr)-1
    if ditArr(i) = ditArr(j) then
      response.write "position "&i&" og "&j&" har begge samme værdi, nemlig"&ditArr(i)
    end if
  next
next
Avatar billede softspot Forsker
24. august 2005 - 12:54 #2
hmmm... i JScript kunne du bare sorteret elementerne, gennemløbet listen og lavet en simpel sammenligning af et element med det næste. Det har dog 2 ulemper: 1. dit array bliver ændret, 2. du skal (givetvis) skifte til JScript (for en kort stund).
Avatar billede softspot Forsker
24. august 2005 - 12:54 #3
Når jeg siger JScript for at sortere, så er det fordi arrays i JScript har en sort-funktion indbygget som gør alt det "sure" arbejde - hurtigt! :)
Avatar billede busschou Praktikant
24. august 2005 - 12:55 #4
hmm har snart hørt dig snakke meget godt om jscript softspot, måske man skulle lære det en dag ;o)
Avatar billede jss Nybegynder
24. august 2005 - 12:58 #5
Tak for feedback - her går det stærkt :-)

Yes - hasDups/remDups - det er hjemmelavede funktioner ved nærmere eftersyn, så fred være med dem !

JScript - måske ...

Jeg prøver lige busschous forslag først
Avatar billede busschou Praktikant
24. august 2005 - 13:00 #6
mit forslag er som sagt ikke perfekt!
Hvis du har {1,2,1,3,1,4}
Så vil du få at vide at der er match på {0,2},{0,4} og {2,4}
Dvs du får flere match af vide flere gange fordi den bare løber det hele igennem fra en ende af
Avatar billede softspot Forsker
24. august 2005 - 13:01 #7
Klart nok! Jeg bruger selv VBScript til daglig (når jeg koder ASP), men JScript kan lige nogle småting pr. default, som VBScript ikke kan - og dem kan man jo ligeså godt benytte sig af når nu de er der :)
Avatar billede busschou Praktikant
24. august 2005 - 13:05 #8
hvis du ikke ønsker dubletter, altså når 0=2=4 så behøves du jo faktisk kun få at vide at 0=2 og 0=4, informationen om at 2=4 er jo overflødig, så skal man gemme værdierne
---
følgende kunne være en mulighed der måske
---
indexer = ""
for i = 0 to ubound(ditArr)
  if instr(indexer,i) > 0 then
    next
  end if
  for j = i+1 to ubound(ditArr)-1
  if ditArr(i) = ditArr(j) then
      indexer = indexer & i & ","
      response.write "position "&i&" og "&j&" har begge samme værdi, nemlig"&ditArr(i)
    end if
  next
next
Avatar billede busschou Praktikant
24. august 2005 - 13:07 #9
en smutter skulle være
---
if instr(indexer,i&",") > 0
---
Håber du kan se ideen :o)
Avatar billede jss Nybegynder
24. august 2005 - 13:17 #10
Tak for indsatsen begge

busschou -> det virker rigtig fint for mig, så læg endelig et svar
softspot -> jeg vil også kigge lidt på JScript
Avatar billede busschou Praktikant
24. august 2005 - 13:19 #11
oki doki :o) godt du er tilfreds
Avatar billede softspot Forsker
24. august 2005 - 13:33 #12
Sig til hvis du har brug for et eksempel :)
Avatar billede jss Nybegynder
24. august 2005 - 13:36 #13
det skal jeg gøre - kan forstå på busschou at du er godt inde i sagerne :-)
Avatar billede softspot Forsker
24. august 2005 - 13:38 #14
Njaah, jeg ved hvor JScript-dokumentationen ligger på MSDN ;)
Avatar billede busschou Praktikant
24. august 2005 - 13:39 #15
jeg ved ikke hvor godt softspot er inde i jscript, men da jeg slet slet ikke er inde i det, og softspot ved flere lejligheder har talt godt om funktioner som kun findes i jscript, ja så er han nok bedre inde i det end jeg er  ;o)
Desuden er det jo forholdsvis nemt at skifte fra et script sprog til et andet, det kræver kun een linjes kode, så hvis det kan gøres lettere i jscript så synes jeg det lyder spændende :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester