01. oktober 2004 - 20:13
Der er
7 kommentarer og 1 løsning
antal i array
Jeg kan få antallet af elementer i mit array test ved 'var antal=test.length Det er et multidimensionelt array. Nogle af elementerne i arrayet skal trækkes fra, alle dem hvor test[i][3]=solgt Dvs. var test=new Array(); test[0]=new Array(); test[0][0]="1"; test[0][1]="2"; test[0][2]="solgt"; test[1]=new Array(); test[1][0]="1"; test[1][1]="2"; test[1][2]="3"; Det antal jeg vil have fat i er alle de elementer som ikke er solgt. Altså test.length - SolgteElementer! Altså noget med: var solgte=0(solgte sættes lig 0) If test[i][2]==solgt(der skal på en eller anden måde testes om [i][2] har værdien solgt) solgte+1(hvis [i][2] skal der lægges 1 til solgte) elementer=test.length-solgte
Annonceindlæg fra Kommando
01. oktober 2004 - 20:27
#1
<script type="text/javascript"> cnt=0; var test=[]; test[0]=[]; test[0][0]="1"; test[0][1]="2"; test[0][2]="solgt"; test[1]=[]; test[1][0]="1"; test[1][1]="2"; test[1][2]="3"; for(i in test){ for(j in test[i]){ cnt=(test[i][j]=="solgt")?cnt:cnt+1 } } alert(cnt); </script>
01. oktober 2004 - 20:29
#2
aha - misforstod - tror jeg :o)
01. oktober 2004 - 20:36
#3
nok dette resultat du vil have <script type="text/javascript"> cnt=0; var test=[]; test[0]=[]; test[0][0]="1"; test[0][1]="2"; test[0][2]="solgt"; test[1]=[]; test[1][0]="1"; test[1][1]="2"; test[1][2]="3"; for(i in test){ cnt=(test[i][2]=="solgt")?cnt:cnt+1; } alert(cnt); </script>
01. oktober 2004 - 20:38
#4
og sidste mulighed hvis du vil have solgte i en varabel ;o) for(i in test){ cnt=(test[i][2]=="solgt")?cnt+1:cnt; } alert(test.length-cnt);
01. oktober 2004 - 21:34
#5
for(i in test){ solgte=(biler[i][2]=="Solgt")?solgte:solgte+1; } giver det jeg skal bruge! Jeg beder den bare skrive værdien af solgte... Men vil du forklare hvad der sker? Jeg er ikke med på ? og :
01. oktober 2004 - 21:58
#6
faktisk burde den se omvendt ud, hvis du vil have et antal på solgte for(i in test){ solgte=(biler[i][2]=="Solgt")?solgte+1:solgte; } solgte=(biler[i][2]=="Solgt")?solgte+1:solgte; er en shorthand if ;o) den linie kunne omskrives til if(biler[i][2]=="Solgt") solgte=solgte+1; else solgte=solgte; Det vil på kort dansk sige at hvis sætningen mellem paranteserne er true, så afvikles det efter spørgsmålstegnet, hvis ikke det efter kolonet; -og i din version er der jo faktisk ingen grund til alt den dobbeltkonfekt, så får nemheden og forståelsens skyld skriver vi lidt om for(i in test){ if(biler[i][2]=="Solgt")solgte++; }
02. oktober 2004 - 08:25
#7
Det er meget flot. Tak for hjælpen! Du smider bare et svar! Jeg benytter den sidste. Tak for forklaringen også!
02. oktober 2004 - 23:22
#8
velbekomme ;o) -du får et svar!
Vi tilbyder markedets bedste kurser inden for webudvikling