Avatar billede krogstrup Nybegynder
08. juli 2002 - 18:26 Der er 2 kommentarer og
1 løsning

Søge efter streng i array

Er det muligt at på en enkelt måde at foretage en søgning i et array ?

jeg har f.eks. et array med 12 nøgler

jeg ønsker blot at lave et tjek på om der findes en nøgle der indeholder værdien "x"

Er jeg så nødt til at loope alle nøglerne igennem for at tjekke dette - eller findes der en specifik funktion til dette formål ??
Avatar billede dk_akj Nybegynder
08. juli 2002 - 20:43 #1
Du kan evt. gøre det sådan.

//akj

<%
function ElementExists(arg_arr, arg_find )
  ElementExists = InStr(Join(arg_arr, ","), arg_find)
End Function


dim arr(5)
arr(0) = "hej"
arr(1) = "dette"
arr(2) = "er"
arr(3) = "en"
arr(4) = "test"

ret = ElementExists (arr, "hej")
if ret > 0 then
    response.write "Eksisterer"
else
    response.write "Eksisterer ikke"
end if
%>
Avatar billede krogstrup Nybegynder
08. juli 2002 - 21:07 #2
det skal nævnes at mit array vil indeholde tal som f.eks.
1
2
3
....
10
11
12
13

hvis der f.eks. søges på 1 og 1 ikke findes i mit array men derimod 11 findes - er det vigtigt at tallet 11 IKKE tælles med som 1 !!!

Altså i følgende array skal en søgning på tallet 1 ende FALSK:

arr(0) = 2
arr(1) = 3
arr(2) = 15

vil ovenstående funktion løse denne opgave ?
Avatar billede dk_akj Nybegynder
08. juli 2002 - 21:46 #3
Så skal vi vist lige snyde lidt.

//akj

function ElementExists(arg_arr, arg_find )
' vi startet og sluttet lige den streng vi søger i med et ","
    ElementExists = InStr("," & Join(arg_arr, ",")&",", arg_find)
End Function


dim arr(5)
arr(0) = "13"
arr(1) = "23"
arr(2) = "77"
arr(3) = "78"
arr(4) = "65"

' her sætter vi lige komma foran og bagved for kun at søge på den fulde streng
ret = ElementExists (arr, ",1,")
if ret > 0 then
    response.write "Eksisterer"
else
    response.write "Eksisterer ikke"
end if
   

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