/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Sortering af værdier ud fra navn
Fra : Niels Andersen


Dato : 08-10-01 09:39

Jeg har en lille ting her, som jeg er nødt til at løse client-side.

En stump javascript finder en række værdier, med hver deres navn.
Som det er nu, bliver de vist sådan:

navn: værdi
navn: værdi
osv...

Men jeg vil gerne have sorteret alfavetisk efter navnet. Men javascript kan
tilsyneladende ikke håndtere associative arrays, hvilket ville gøre det hele
meget lettere. :)

Jeg har prøvet dette:
a = Array();
b = Array();
i = 0;
for(...) {
a[i] = navn;
b[i] = værdi;
++;
}

a.sort();

Nu er arrayet a sorteret korrekt. Men "b" fulgte selvfølgelig ikke med.
Hvordan grejer jeg den?

--
Mvh.

Niels Andersen



 
 
Jakob Andersen (09-10-2001)
Kommentar
Fra : Jakob Andersen


Dato : 09-10-01 09:08

"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:ACdw7.6233$%D3.462395@news000.worldonline.dk...
> Men jeg vil gerne have sorteret alfavetisk efter navnet. Men javascript
kan
> tilsyneladende ikke håndtere associative arrays, hvilket ville gøre det
hele
> meget lettere. :)

Prøv at lege lidt med den her: Det var lige det bedste eksempel jeg kunne
lave, hvis du ikke kan få det til at passe i din sammenhæng så sig til og
forklar hvad det er du skal bruge det til, så skal jeg prøve at lave det.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML><HEAD> <TITLE>Test af multidimensionel array sortering</TITLE></HEAD>
<BODY onload="sortlist(document.formnavn.selectnavn)">
<script type="text/javascript">
<!--
function sortlist(objSelect){
tempArray = new Array( objSelect.length );
for(var i=0;i<objSelect.length;i++){
tempArray[i] = new Array( objSelect.options[i].text,
objSelect.options[i].value );
}
tempArray.sort();
for(i = 0;i<tempArray.length;i++){
objSelect.options[i].text = tempArray[i][0];
objSelect.options[i].value = tempArray[i][1];
}
}
// -->
</script>
<form name="formnavn">
<select name="selectnavn" size="15" onclick="alert(
this.options[this.selectedIndex].value + ' , ' +
this.options[this.selectedIndex].text)">
<option value="5">Abraham</option>
<option value="2">Bo</option>
<option value="2">Lars</option>
<option value="2">Kenneth</option>
<option value="1">Jakob</option>
</select>
</body>
</html>

--
<http://www.filth.dk>



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste