Avatar billede hofmanhansen Nybegynder
01. oktober 2001 - 22:53 Der er 4 kommentarer og
2 løsninger

Fjern dubletter i array

Jeg har et array:
stikord(\"bent\",\"lone\",\"bent\",\"lars\",\"bent\")

Jeg vil gerne ende med et array, der er renset for dubletter. Det vil sige, at jeg skal ende med:
renset_stikord(\"bent\",\"lone\",\"lars\")

Der skal altså i renset_stikord stadig være én forekomst af \"bent\".

Hvordan gøres det nemmest?
Avatar billede gnu Nybegynder
02. oktober 2001 - 08:28 #1
Her er et forsøg - men den reducerer ikke listen - det må du selv gøre...:

dim minarray(5)

minarray(0) = \"1\"
minarray(1) = \"2\"
minarray(2) = \"3\"
minarray(3) = \"3\"
minarray(4) = \"3\"
minarray(5) = \"2\"

for X = 0 to Ubound(minarray)
    for Y = X to Ubound(minarray)-1
    if Minarray(X) = minarray(Y+1) then
    minarray(X) = \" \"
    end if
    next
next

\' Her udskriver vi lige den rensede liste!
for X = 0 to Ubound(minarray)
response.write minarray(X) & \"<br>\"
next
Avatar billede aho_metier Nybegynder
02. oktober 2001 - 08:59 #2
Hvis du benytter dig af en Collection, bruger stikordet som key og ignorerer fejl som opstår ved afvisning af dubletterne...

Så har du en Collection/Array som er renset for dubletter
Avatar billede eagleeye Praktikant
03. november 2001 - 13:28 #3
Det forudsætter du har et array :  stikorod  som du har skrevet i spørgsmålet.

reDim renset_stikord(0)
renset_stikord(0) = stikord(0)
for i = LBound(stikord) to UBound(stikord)
  insertOK = true
  for n = LBound(renset_stikord) to UBound(renset_stikord)
    if renset_stikord(n) = stikord(i) then
      insertOK = false
      exit for
    end if
  next
  if insertOK = true then
    ReDim Preserve renset_stikord(UBOUND(renset_stikord) + 1)
    renset_stikord(UBOUND(renset_stikord)) = stikord(i)
  end if
next
Avatar billede eagleeye Praktikant
03. november 2001 - 13:29 #4
Så får du et array hvor der ikke er to ens.

Array hedder som i spørgsmålet:  renset_stikord
Avatar billede eagleeye Praktikant
14. april 2002 - 12:48 #5
Var det noget du kunne bruge?
Avatar billede eagleeye Praktikant
21. september 2002 - 23:36 #6
...??...
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

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