[flash] sorteren?

Pagina: 1
Acties:

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
code:
1
2
3
4
5
6
7
    trace(nicks_voice.join());
    nicks_voice.sort();
    trace(nicks_voice.join());

output:
Markie[zzz]zzz,Ou-slaapie,paul,`AzazeL,cu2q,T1000
Markie[zzz]zzz,Ou-slaapie,T1000,`AzazeL,cu2q,paul


Hij sorteert helemaal niet goed :S
ik sorteer toch goed?
maar volgens flash zit dan de M eerder in het alfabed dan de c :s

mischien even hele code plaatsen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
function nicklist(nicks) {
    nicks = nicks.split(" ");
    nr=0;
    nicks_op = new array();
    nicks_hop = new array();
    nicks_voice = new array();
    nicks_norm = new array();
    
    while(nicks[nr] != NULL){
        nickdeel = nicks[nr].split("");
        if (nickdeel[0] == "@") {
            nickdeel.splice(0, 1);
            nicks_op.push(nickdeel.join(""));
        } else if (nickdeel[0] == "%") {
            nickdeel.splice(0, 1);
            nicks_hop.push(nickdeel.join(""));
        } else if (nickdeel[0] == "+") {
            nickdeel.splice(0, 1);
            nicks_voice.push(nickdeel.join(""));
        } else { 
            nicks_norm.push(nickdeel.join(""));
        }
        nr++;
    }
    nr=0;
    nicklist="";
    nicks_op.sort();
    nicks_hop.sort();
    trace(nicks_voice.join());
    nicks_voice.sort();
    trace(nicks_voice.join());
    nicks_norm.sort();
    
    while(nicks_op[nr] != NULL){
        nicklist+="@"+nicks_op[nr]+"\n";
        nr++
    }
    nr=0;
    while(nicks_hop[nr] != NULL){
        nicklist+="%"+nicks_hop[nr]+"\n";
        nr++
    }
    nr=0;
    while(nicks_voice[nr] != NULL){
        nicklist+="+"+nicks_voice[nr]+"\n";
        nr++
    }
    nr=0;
    while(nicks_norm[nr] != NULL){
        nicklist+=nicks_norm[nr]+"\n";
        nr++
    }
}


edit:

Hmm volgens mij kijkt hij ook naar hoofdletters :S
ik zie niet op http://www.macromedia.com...s/objects/arraysort.html# hoe ik dat oplos jammergenoeg :(

Verwijderd

Zie: http://www.asciitable.com/

Ofwel kleine 'c' komt pas na hoofdletter 'M'

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
hmm en hoe los ik dat dan op?
dus dat hij gewoon op alfabed sorteert net niet op ascii nr :)

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
-

[ Voor 0% gewijzigd door SuperRembo op 21-09-2002 17:44 . Reden: dubbel ]

| Toen / Nu


  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
arrayobj.sort(sortfunction)

Een eigen sorteerfunctie meegeven die de elementen in de array vergelijken op de manier zoals jij het wilt hebben.

| Toen / Nu


  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
code:
1
2
3
4
5
6
7
8
9
10
11
 function order (a, b) {
     a = a.toLowerCase();
     b = b.toLowerCase();
   if (a < b) {
     return -1;
   } else if (a > b) {
     return 1;
   } else {
     return 0;
   }
 }


zo dus :P simpel eigenlijk :S
Pagina: 1