17. juni 2002 - 18:32
Der er
1 kommentar og
1 løsning
Array - 2 værdier
Hej
Jeg har et script, som opretter et array. Objekterne i dette array er blevet sorteret efter værdien af gruppe[1][i].emnenr. Det funker fint.
Men nu jeg gerne have udvidet scriptet, således at det - udeover at indeholde værdien af gruppe[1][i].emnenr - også kommer til at indeholde værdien af gruppe[1][i].artikelnr. Hvordan kan det lade sig gøre?
function ArrangerEfterVaerdi ( ) {
var nytArray = gruppe[1].sort( fnavnObj ); // sorter over i nye array.
for ( i=1; i<nytArray.length; i++ ) { // se hvad der blev sorteret til
alert("Her kommer det sortede array: " + nytArray[i-1].emnenr );
}
}
function fnavnObj ( a, b ) { // a og b er tabelceller der skal sammenlignes
if ( a.emnenr == b.emnenr) return 0; // 0 for ens elementer
if ( a.emnenr > b.emnenr ) return 1; // 1 for a > b
return -1; // -1 for b > a
}; //end fnavnObj
Slettet bruger
17. juni 2002 - 21:48
#1
Det gør det vel også nu!
Er det ikke dette, du mener (?):
<html>
<head>
<script>
function Obj(enr, anr) {
this.emnenr = enr;
this.artikelnr = anr;
}
gruppe = new Array();
gruppe[0] = new Array();
gruppe[0][0] = new Obj(3, 5);
gruppe[0][1] = new Obj(1, 8);
gruppe[0][2] = new Obj(10, 2);
gruppe[1] = new Array();
gruppe[1][0] = new Obj(3, 5);
gruppe[1][1] = new Obj(1, 8);
gruppe[1][2] = new Obj(10, 2);
gruppe[1][3] = new Obj(19, 3);
gruppe[1][4] = new Obj(2, 67);
gruppe[1][5] = new Obj(33, 21);
function ArrangerEfterVaerdi ( ) {
var nytArray = gruppe[1].sort( fnavnObj ); // sorter over i nye array.
for ( i=0; i<nytArray.length; i++ ) { // se hvad der blev sorteret til
alert("Her kommer det sortede array:\n\nEmnenummer: " + nytArray[i].emnenr + "\nArtikelnummer: " + nytArray[i].artikelnr );
}
}
function fnavnObj ( a, b ) { // a og b er tabelceller der skal sammenlignes
if ( a.emnenr == b.emnenr) return 0; // 0 for ens elementer
if ( a.emnenr > b.emnenr ) return 1; // 1 for a > b
return -1; // -1 for b > a
}; //end fnavnObj
</script>
</head>
<body>
<a href="#" onClick="ArrangerEfterVaerdi(); return false;">Arrangér!</a>
</body>
</html>
Ja, det gør jeg faktisk, for det beviser alert-sætningen jo, idet den udskriver omtalte værdi. Tak for oplysningen.