Avatar billede flviborg Nybegynder
02. januar 2005 - 18:22 Der er 12 kommentarer

array.splice fungerer ikke?

jeg har brugt denne script for at fjerne en værdi fra mit array, men når jeg kører er det flere værdier der bliver væk, er der nogle der ved hvorfor det sker?

stop();
var names = new Array(37);
names[0] = "empty";
names[1] = "1F Orange";
names[2] = "2F Grøn";
names[3] = "3M Grøn";
names[4] = "4F Gul";
names[5] = "5M Gul";
names[6] = "6F Lillac";
names[7] = "7M Lillac";
names[8] = "8M Blå";
names[9] = "9M Rød";
names[10] = "10M Brun";

var link = new Array(37);
url1 = "tre";
url2 = "fire";
url3 = "fem";
url4 = "seks";
for (i=1; i<=10; i++) {
if(testfelt == 2){
    names.splice(3,1)
}
    clip.duplicateMovieClip("clip"+(i+0), +i);
    height = _root.clip._height+2;
    _root["clip"+(i+0)]._y = _root.clip._y+height*i;
    _root["clip"+(i+0)]._alpha = 75;
    _root["clip"+(i+0)].names = names[i];
    _root["clip"+i].link = _root["url"+i];
    _root["clip"+i].onPress = function() {
        gotoAndStop(this.link);
    };
}
_root["clip"+(i+1)]._alpha = 75;
_root["clip"+(i+1)].name = names[i];
_root.clip._visible = false;
stop();
Avatar billede barklund Nybegynder
02. januar 2005 - 18:31 #1
Altså, du laver en løkke over ti felter, og hver gang tester du, om variablen "testfelt" er lig 2, og hvis den er, sletter du 4. element. Altså hvis den er true fra starten, så er den jo hele tiden true, og du bliver ved med at slette 4. element - så du tilsidst kun har de første 3 tilbage. Det forstår jeg vist ikke helt?
Avatar billede mat Nybegynder
02. januar 2005 - 18:42 #2
Det bunder muligvis i en misforstået opfattelse af at der efterlades et tomt element i arrayet? Det gør der ikke, det mases sammen, så du står bare og æder dit array op i løkken.
Avatar billede flviborg Nybegynder
02. januar 2005 - 18:55 #3
ja,hvordan kan jeg bruge den splice uden for loopen?
Avatar billede flviborg Nybegynder
02. januar 2005 - 18:58 #4
jeg er simpelthen stået af, nu har jeg prøvet det her hele dagen og jeg kan ikke få det til at fungere.

Problemet stammer herfra http://www.eksperten.dk/spm/575937, og jeg ved nok ikke hvordan jeg få tingene til at køre...=(
Avatar billede flviborg Nybegynder
02. januar 2005 - 19:05 #5
Har I nogle forslag?=)
Avatar billede mat Nybegynder
02. januar 2005 - 19:23 #6
Nu har jeg ikke nærlæst dit andet spørgsmål, men handler det ikke om at du vil vise visse elementer udfra nogle kriterier?

Hvorfor opretter du så ikke et array og fylder de værdier i der matcher kriterierne og så viser det tilsidst. Så skal du ikke sidde og slette i dit oprindelige array igen?

(hint: Array.push)
Avatar billede flviborg Nybegynder
02. januar 2005 - 19:29 #7
det er fordi mit oprindelig array skal bruges igen og igen. De elementer fra arrayet der fremvises afhænger af andre variabler og derfor er det fremvist resultat meget anderledes fra gang til gang.
Avatar billede barklund Nybegynder
02. januar 2005 - 19:48 #8
Kan du ikke forklare et komplet eksempel på, hvad du vil? Ikke noget kode, ikke noget FLA fil, blot hvad man HELT PRÆCIST skal kunne som bruger - for jeg forstår det stadig ikke :)
Avatar billede flviborg Nybegynder
02. januar 2005 - 19:58 #9
ja.

SOM BRUGER:

Brugeren bliver præsenteret for 6 input felter. Heri indtaster brugeren nogle værdier og derefter trykker vedkommende på en knap "Næste".

Brugeren indtaster værdier for tryk, hastighed, ydelse, mængde og størrelse.

Ved at trykke på "næste" vises der en list med nogle produkter fra en gruppe produkter, som er blevet valgt med basis i de værdier som brugeren har indtastet.

Disse produkter fremvises når en kombination af de indtastede værdier passer med produktets profil.
Fx.

Der er nogle produkter der kan bruges ved et bestemt hastighed og et given tryk.

På den fremviste list kan brugeren trykke på produkterne for at få fremvist en beskrivelse af hver produkt med billede og andre detaljer.
Avatar billede flviborg Nybegynder
02. januar 2005 - 20:31 #10
fx: hvis hastigheden er imellem 10 og 20 km/t og trykket er imellem 1.5 og 5 vises der en list med 5 produkter man kan klikke på for at se beskrivelsen.
Avatar billede flviborg Nybegynder
02. januar 2005 - 20:47 #11
er du der stadigvæk Morten?
Avatar billede barklund Nybegynder
02. januar 2005 - 23:41 #12
Altså, det man skal gøre, er at løbe array'et igennem, for hver enkelt teste, om elementets parametre matcher de indtastede, og hvis de gør, vise dette. Det er da ganske ligetil? Ingen grund til at splice noget som helst - bare spring de elementer over, som ikke passer med parametrene.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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



Seneste spørgsmål Seneste aktivitet
I dag 06:10 Excel åbner fil i kæmpe format Af Aske i Excel
I går 22:00 Datafordeler Af Lsk i PHP
I går 12:37 Summere beløb pr. dato Af TTA i Excel
31/1022:44 Tilslutte chassic fans Af viking69 i PC
31/1020:28 LED lysstofrør Af ErikHg i Fri debat