Avatar billede kotelet Nybegynder
12. august 2001 - 02:09 Der er 6 kommentarer og
1 løsning

Slet fra Array

Hej ... Jeg har lavet et session-array i forbindelse med en indkøbdsvogn på min side, og vil gerne have mulighed for at fjerne en vare fra indkøbdsvognen.

Jeg forestiller mig det nemmeste er at slette varens værdi fra array\'et.

Men hvordan sletter man en værdi i et array?

eks: arrVarer = \"1, 4, 3, 7, 7, 45, 3\" Lad os sige jeg gerne vil fjerne den ene 7\'er.
Avatar billede netsrac Praktikant
12. august 2001 - 05:50 #1
Hm...

function remove(index,myarray)
For i = 0 to Ubound(myarray)
If index <> i Then
buildarray = buildarray & myarray(i)
End if
If i <> Ubound(myaaray) Then
buildarray = buildarray & \",\"
End if
Next
remove = Split(buildarray, \",\")
End function
Avatar billede kotelet Nybegynder
12. august 2001 - 13:05 #2
Jeg tester den lige lidt senere i dag .. tak
Avatar billede kotelet Nybegynder
19. august 2001 - 11:32 #3
Hej ... Nu er det tid til at teste ... jeg ved godt det er lidt sent, men kan du forklare mig helt præcist hvad funktionen gør og hvad de forskellige variabler er?

Jeg forstår det som om at \'index\' er den variabel jeg vil fjerne fra arrayet og \'myarray\' selvfølgelig er mit oprindelige array.

Men vil det sige at hvis jeg skriver eks: remove(7, arrID) så vil jeg få præcis det samme array som jeg havde før men bare UDEN 7 tallet og hvor 45 har overtaget pladsen?

/Kotelet
Avatar billede netsrac Praktikant
19. august 2001 - 11:44 #4
Hvis du bruger denne istedet, så ja:

function remove(index,myarray)
For i = 0 to Ubound(myarray)
If index <> myarray(i) Then
buildarray = buildarray & myarray(i)
End if
If i <> Ubound(myaaray) Then
buildarray = buildarray & \",\"
End if
Next
remove = Split(buildarray, \",\")
End function
Avatar billede burningice Nybegynder
19. august 2001 - 12:18 #5
netsrac>> vil den ikke fjerne begge 7\'erne??
Avatar billede kotelet Nybegynder
19. august 2001 - 13:23 #6
Hmm .. kan ikke få det til at virke :-(

FUNCTION remove(index,myarray)
FOR i = 0 TO Ubound(myarray)
    If index <> myarray(i) Then
        buildarray = buildarray & myarray(i)
    End if
    If i <> Ubound(myaaray) Then
        buildarray = buildarray & \",\"
    End if
Next

remove = Split(buildarray, \",\")
END FUNCTION


strRemove = Request.Form(\"id\")

strProducts = Session(\"products\")
arrProducts = Split(strProducts, \",\")

arrProducts = remove(strRemove, arrProducts)

Response.Write arrProducts

Jef får en fejl der hedder:

Type mismatch: \'Ubound\'

/include/remove.asp, line 7

...
Avatar billede kotelet Nybegynder
19. august 2001 - 14:29 #7
Yes .. Jeg lavede mit eget script ... det fungerede efter lidt arbejde:

strRemove = Request.Form(\"remove\")

strOrders = session(\"orders\")
arrOrders = Split(strOrders,\",\")

FOR i = 0 TO UBound(arrOrders)
    IF arrOrders(i) = strRemove THEN
        strRemove = \"\"
    ELSE
        IF strNewOrders = \"\" THEN
            strNewOrders = arrOrders(i)
        ELSE
            strNewOrders = strNewOrders & \", \" & arrOrders(i)
        END IF
    END IF
NEXT


Session(\"Orders\") = strNewOrders
Response.redirect \"/viewcart.asp\"

Du behøver ikke forstå hvad mine variabler er, jeg skriver det bare for at du kan se jeg rent faktisk selv løste problemet :-) ...

Du skal have mange tak for hjælpen alligevel ...
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