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.