Ändra if sats till en arrey?

ASP

3 svar · 212 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Trådstart#1
if (t = "voigt") or (t = "dig") or (t = "child") or (t = "pixel") or (t = "ballon") or (t = "blue") then

skulle man kunna göra en arrey med "voigt,dig,child,pixel,ballon,blue mm" så man slipper skriva många OR satser???

Medlem sedan juli 2001203 inlägg
#2
arr = array("voigt","dig","child","pixel","ballon","blue")

if ubound(filter(arr,t))>0 then

end if

Detta kan nog funka...

Medlem sedan juni 20019 519 inlägg
#3

fungerade inte riktigt som jag ville.. fungerade inte alls bra :e

if (t = "voigt") or (t = "dig") or (t = "child") or (t = "pixel") or (t = "ballon") or (t = "blue") then
  response.write "document.write(""" & textpic(nollor&count,t) &""")"
else
  response.write "document.write(""" & nollor&count &""")"
end if

så ser hela koden ut ..

Medlem sedan maj 200010 687 inlägg
#4

Ett dictionary är lämpligt. Snabbare än arrayer när man letar. Dictionariet gör en slags checksum av namnet som hjälper när den letar efter värdet vilket gör att det går snabbare. Speciellt när man har mycket i dictionariet.

Set dic = Server.CreateObject("Scripting.Dictionary")

dic("voigt") = 1 : dic("dig") = 1 : dic("child") = 1
dic("pixel") = 1 : dic("ballon") = 1 : dic("blue") = 1

If dic.Exists(t) Then

End If

Set dic = Nothing

Vill du ha det case-insensitive så kan du slänga in dic.CompareMode = 1 'TextCompare direkt efter Server.CreateObj... :)

372 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
123 ms — hämta statistik (db)
119 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)