10. september 2002 - 10:48
Der er
8 kommentarer og 1 løsning
flash mx og XML ting
Jeg har et xml dokument med div poster. så har jeg lidt action script som ser således ud: news = ""; for (i=0; i<articles.length; i++) { data2[i] = articles[i]; // makes new array with data from articles[i] } for (f=0; f<data2.length; f++) { if (data2[f].de != "ja") { data2.splice(f, 1); } } for (f=0; f<data2.length; f++) { news += data2[f].pr+"<br>"; news += data2[f].ma+"<br>"; news += data2[f].wi+"<br>"; news += data2[f].pr+"<br>"; news += data2[f].de+"<br>"; news += data2[f].pa+"<br>"; news += data2[f].pl+"<br>"; news += data2[f].fu+"<br>"; news += data2[f].ph+"<br>"; } } Jeg har lavet et array der indholder oplysningerne fra mit xml dokument, - arrayet hedder articles. Jeg vil så gerne lave et udtræk af dette array og lave et nyt array der består af de ting der er valgt ud i dette tilfælde: alle de poster hvor data2[f].de != "ja" Nå jeg så gør det med data2.splice(f, 1); virker det også sådan nogenlunde, - dog er det som om der kommer en ekstra post med, en post der ikke opfylder betingelsen. news er bare et text felt. Spørgsmålet er kort og godt: er der en bedre måde at danne et nyt array ud fra et andet, - og jeg vil jo gerne undgå at der er tomme poster så arrayet skal altså trækkes sammen.. vh KalleBalle
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
10. september 2002 - 11:30
#1
Kunne du ikke nøjes med at fange de rigtige poster i første gennemløb? for (i=0; i<articles.length; i++) { if (articles[i].de != "ja") { data2.push(articles[i]); } } Årsagen er at du i dit gennemløb slicer index i ud og så går vi til i+1, men så har du jo sprunget den over, som før var i+1 og nu er i...
10. september 2002 - 11:34
#2
tak for svaret jeg ser lige på det ;-)
10. september 2002 - 11:50
#3
Hm, - den finder de første 2 poster fint, - men så kommer der ikke flere selv om betingelsen er opfyldt..... Mht. årsagen...... hvad er så løsningen?? vh KalleBalle
10. september 2002 - 11:59
#4
jeg tror at jeg simpelt hen testede for hurtigt, - den havde nok ikke nået at læse hele dokumentet ind ;-)
10. september 2002 - 12:16
#5
Okay det var ikke det. Det der sker er at så snart betingelsen 'articles[i].de != "ja"' er false, altså et 'ja' så stopper den. Så hvis post 3 har et <de>ja</de> så får jeg post 1 og 2. ??
10. september 2002 - 12:27
#6
Okay, - det her virker : for (i=0; i<articles.length; i++) { if (articles[i].de != "ja") { data2.push(articles[i]); } } for (i=0; i<data2.length; i++) { _root.news += data2[i].pr+"<br>"; _root.news += data2[i].de+"<br>"; } Og hvordan er det nu lige at jeg giver dig points barklund??
10. september 2002 - 13:04
#7
Når jeg lægger et svar... :o) Dit sidste indlæg var da også præcis det jeg skrev? Kun 2 løkker... Eller tager jeg fejl...
10. september 2002 - 15:10
#8
Du har ret... jeg forstod bare ikke helt hvad du mente ;-)
10. september 2002 - 17:59
#9
Tak for point :o)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.