Geen waarde uit Array
Voor de meeste waarschijnlijk een beginnersfout, maar op een of andere manier lukt het mij niet de volgende code het juiste resultaat te laten tonen:
function getwaarde() {
var waarde = new Array();
waarde[1]="waarde1"
waarde[2]="waarde2"
for (var i = 0; i < waarde.length ; i++){
var toonwaarde = waarde[i+1];
}
return toonwaarde;
}
Wat ik wil is dat eerst de 1e waarde wordt getoond, dan de 2e etc. Het lukt mij om 1 waarde te tonen, maar niet om de hele string te doorlopen.
Weet iemand wat ik verkeerd doe? Ergens een } verkeerd? Onlogische code? Ik kijk er nu een uur naar maar ik kom er niet uit. Ook niet met mijn Dummies boek.
Elke hulp wordt gewaardeerd....
Dank Bart, ik ga het direct proberen.
Het komt omdat je maar één keer in een functie een return kan doen. Je moet het uit de functie halen en dan bijvoorbeeld alert(waarde) doen om het uit te lezen.
Ik hoop dat ik het een beetje goed uitleg, in elk geval bedankt voor de hulp!
2: hoe weet je welk element/waarde je wilt hebben? Zoals het er nu staat zal je altijd en elke keer hetzelfde krijgen. Er is namelijk niets variabels op basis waarvan de juiste waarde geselecteerd kan worden.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function getWaarde() {
var waarde = new Array();
waarde[1]="waarde1";
waarde[2]="waarde2";
var toonwaarde;
for (var i = 0; i < waarde.length ; i++){
toonwaarde += waarde[i+1];
}
return toonwaarde;
}
document.write(getWaarde()); //waarde1waarde2
var waarde = new Array();
waarde[1]="waarde1";
waarde[2]="waarde2";
var toonwaarde;
for (var i = 0; i < waarde.length ; i++){
toonwaarde += waarde[i+1];
}
return toonwaarde;
}
document.write(getWaarde()); //waarde1waarde2
En een array hoor je met 0 te beginnen...
Gewijzigd op 19/07/2012 23:47:29 door Joakim Broden
Erwin H op 19/07/2012 23:40:36:
1: wil je 1 waarde uit de functie terug krijgen, of meerdere per aanroep? Bij meerdere geldt wat Roel al zegt, dat gaat niet. Return kan je maar 1 keer doen.
2: hoe weet je welk element/waarde je wilt hebben? Zoals het er nu staat zal je altijd en elke keer hetzelfde krijgen. Er is namelijk niets variabels op basis waarvan de juiste waarde geselecteerd kan worden.
2: hoe weet je welk element/waarde je wilt hebben? Zoals het er nu staat zal je altijd en elke keer hetzelfde krijgen. Er is namelijk niets variabels op basis waarvan de juiste waarde geselecteerd kan worden.
Hi Erwin,
Wat ik probeer te doen, is het volgende:
een aantal foto's, die ik benoem in de array 1 voor 1 laten zien. Foto 1, druk op de knop of na x seconde, foto 2, druk op de knop of na x seconde, foto 3 etc.
Feitelijk dus een andere opzet....
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var waarde = new Array();
//javascript begint altijd bij nul, goed idee om dat zelf ook te doen
waarde[0] = waarde0;
waarde[1] = waarde1;
//onthoud de huidige
var huidige_waarde = 0;
//functie om aan te roepen in de onclick
function toon_volgende(){
//hoog de huidige met 1 op
++huidige_waarde;
//controleer of je niet buiten de array komt
if (huidige_waarde >= waarde.length){
huidige_waarde = 0;
}
//geef de juiste waarde terug
return waarde[huidige_waarde];
}
//javascript begint altijd bij nul, goed idee om dat zelf ook te doen
waarde[0] = waarde0;
waarde[1] = waarde1;
//onthoud de huidige
var huidige_waarde = 0;
//functie om aan te roepen in de onclick
function toon_volgende(){
//hoog de huidige met 1 op
++huidige_waarde;
//controleer of je niet buiten de array komt
if (huidige_waarde >= waarde.length){
huidige_waarde = 0;
}
//geef de juiste waarde terug
return waarde[huidige_waarde];
}
Erwin H op 20/07/2012 00:07:49:
Dan zal je dus iets mee moeten geven aan de functie om te kunnen bepalen welke waarde je terug wilt krijgen. Anders blijf je elke keer dezelfde zien. Verder zou ik ook niet de array elke keer opnieuw aanmaken, maar een keer in het begin.
Feitelijk dus een andere opzet....
Feitelijk dus een andere opzet....
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var waarde = new Array();
//javascript begint altijd bij nul, goed idee om dat zelf ook te doen
waarde[0] = waarde0;
waarde[1] = waarde1;
//onthoud de huidige
var huidige_waarde = 0;
//functie om aan te roepen in de onclick
function toon_volgende(){
//hoog de huidige met 1 op
++huidige_waarde;
//controleer of je niet buiten de array komt
if (huidige_waarde >= waarde.length){
huidige_waarde = 0;
}
//geef de juiste waarde terug
return waarde[huidige_waarde];
}
//javascript begint altijd bij nul, goed idee om dat zelf ook te doen
waarde[0] = waarde0;
waarde[1] = waarde1;
//onthoud de huidige
var huidige_waarde = 0;
//functie om aan te roepen in de onclick
function toon_volgende(){
//hoog de huidige met 1 op
++huidige_waarde;
//controleer of je niet buiten de array komt
if (huidige_waarde >= waarde.length){
huidige_waarde = 0;
}
//geef de juiste waarde terug
return waarde[huidige_waarde];
}
Dank je Erwin, ik denk dat ik begrijp wat je bedoelt. Hoop niet dat dit je teveel tijd kostte. Ik ga er morgen verder mee. Dank en goede nacht.
Zijn genoeg scripts waarmee je foto's kunt tonen.