indexOf(feltnavn: String, sokeord: String): int
(Bør selvfølgelig utvides med flere metoder, som finner summen av verdier for et feltnavn, finner største verdi for et feltnavn, finner minste verdi for et feltnavn osv.)
MyArray indexOf(feltnavn: String, sokeord: String) : int //returnerer indeks til cellen med sokeord //i feltet med navn i feltnavn-parameterensum(feltnavn: String): Number // Summerer verdiene i felt med navn i feltnavnmaksimal(feltnavn: String): Number // Finner største verdi i felt med navn i feltnavnminimal(feltnavn: String): Number // Finner minste verdi i felt med navn i feltnavn
Med en tabell/array som inneholder objekter/assosiative array, ønsker vi oss en utvidet versjon av indexOf()-funksjonen.
Vi kan lage en egen klasse med en slik metode omtrent slik:
/* Tabell med objekter søkbart på feltnavn */ package {
public class MyArray {
var tabell: Array = new Array(); public function MyArray(t: Array) {
tabell=t;
}//Constructor()
public function indexOf(feltnavn:String,sokeord: String):int {
var funnet: Boolean = false;
var indeks: int = 0;
while(indeks<tabell.length && !funnet) {
if(tabell[indeks][feltnavn]==sokeord) {
funnet=true;
}else{
indeks++;
}//if
}//while
if(!funnet) {
return -1;
} else {
return indeks;
}//if
}//indexOf()
... flere funksjoner... }//class }//package |
Klassen kan da brukes på denne måten:
var t: Array = [
{navn: "Ole", alder: 79},
{navn: "Hans", alder: 29},
{navn: "Kari", alder: 69},
{navn: "Mette", alder: 39}
];
var ma: MyArray=new MyArray(t); trace("Fant indeks til Kari: " + ma.indexOf("navn","Kari") );
trace("Fant indeks til Noldus: " + ma.indexOf("navn","Noldus") );
trace("Hvem har alder 69: "+ma.indexOf("alder","69") );
|
Klassen MyArray bør selvfølgelig utvides med metoder som summerer, finner minimum og maksimum osv. for et angitt feltnavn.