Forenindex » Programmierung/Entwicklung » JavaScript » Zu Arrays!

Zu Arrays!

badboy
Beiträge gesamt: 33

17. Sep 2004, 21:29
Bewertung:

gelesen: 762

Beitrag als Lesezeichen
Ich habe eine Array der Quadratzahlen bis 1024 geschrieben, jetzt möchte ich es schaffen, wenn der Besucher nur einen Bereich z.B. nur die Quadratzahlen von 50 bis 600 sehen möchte, er nur die Zahlen von 50 bis 600 angezeigt bekommt. Wie schaffe ich das???

Mein bisheriges Ergebnis:
/*Script Anweisungen*/
var quadrat = new Array(1,2,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,529,576,625,676,729,784,841,900,961,1024);
/*Script ende*/<!--// Formular //-->
<form name="qua">
Bitte geben Sie den Zahlen-Bereuch ein:<br>
<input type="Text" name="von" value="von" onFocus="document.qua.von.value = ''">&nbsp;-
<input type="Text" name="bis" value="bis" onFocus="document.qua.bis.value = ''"><br><br>
<b>Bitte maximal eine Spanne von 1 - 1.024!</b><br>
<textarea readonly name="erg" cols="30" rows="10">Hier werden die Quadratzahlen stehen</textarea>
<input type="reset" value="Reset" name="res" disabled>
<input type="button" name="sub" value="Zeig an!" onClick="check_qua()">
</form>
<!--// Formular Ende //-->
-----------------------------------
jetzt Tierzubehör bestellen unter:
http://www.tierisch-gut.de.gg
Mit guten Sonderangeboten u.v.m.

Zu Arrays!

Max Wyss
Beiträge gesamt: 532

18. Sep 2004, 21:54
Bewertung:

gelesen: 762

Beitrag als Lesezeichen
Ein möglicher Weg wäre das Bestimmen der Indices des Arrays, und dadurch dann die gewünschten Zahlen herauszuholen. Da wären so etwa folgende Schritte notwendig:

1. Array mit 0 beginnen lassen (vereinfacht die Bestimmung der Indices) (Annahme für folgende Betrachtungen: das Array heisse myArray).

2. Bestimmung des Index für den unteren Grenzwert:

var startindex = Math.ceil(Math.sqrt(<Anfangswert>)) ;

3. Bestimmung des Index für den oberen Grenzwert:

var endindex = Math.floor(Math.sqrt(<Endwert>)) ;

4. Ausgabe des Arrays:

var outval = "" ;
for (var i = startindex ; i <= endindex ; i++) {
outval+= myArray + "\r" ;
}

und dann outval weiter verarbeiten; es handelt sich dabei um einen String, in welchem die gewünschten Quadratzahlen jeweils auf einer Zeile stehen.

HTH

Max Wyss.