Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-08-2008, 22:07   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2008
Beiträge: 19
array sortieren

hallo zusammen !
ich bin neu in dem forum und habe auch gleich eine frage an euch.
vorweg muss ich aber sagen, dass ich noch kaum erfahrungen mit arrays gemacht habe !

also folgendes !

ich möchte eine reihe von variablen der größe nach sortieren. dazu möchte ich den wert der variagble auslesen und auch den namen der variablen !

bisher bin ich so weit
var ergebnis1....ergebnis5;

Code:
myNumbers = new Array(ergebnis1,ergebnis,ergebnis,ergebnis4,ergebnis5);

myNumbers.sort();

trace(myNumbers.join());
ich würde mich freuen wenn mir jemand hilft.

lg
onkel4u ist offline   Mit Zitat antworten
Alt 15-08-2008, 23:20   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Aber das nächste mal vorher in deiner Flashhilfe unter Array gucken...
PHP-Code:
var myNumbers:Array = [ 112953423 ];
tracemyNumbers.sort() );
tracemyNumbers.sort( Array.NUMERIC ) ); 
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 16-08-2008, 00:51   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2008
Beiträge: 19
hallo,
die werte werden ja wieder nur in der richtigen reihenfolge sortiert abe rich möchte doch, dass nach den variablen sortiert wird ?!

in deinem beispiel sollte das dann sein:
ergebnis5

der wert sollte dann praktisch übergeben werden können wie zb:

besterwert=hierDerNameDerVariablen;

verstehst du was ich meine ?

Geändert von onkel4u (16-08-2008 um 01:39 Uhr)
onkel4u ist offline   Mit Zitat antworten
Alt 16-08-2008, 10:56   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
ergebnis0 = 7;
ergebnis1 = 3;
ergebnis4 = 9;
ergebnis5 = 1;
myNumbers = new Array([ergebnis1, 1], [ergebnis0, 0], [ergebnis0, 0], [ergebnis4, 4], [ergebnis5, 5]);
trace(myNumbers.join("\n"));
trace("");
//
// sortiert nach variablen:
sortIndex = myNumbers.sortOn(1, Array.NUMERIC | Array.RETURNINDEXEDARRAY);
for (var i = 0; i<myNumbers.length; i++) {
trace("ergebnis"+myNumbers[sortIndex[i]][1]+" mit inhalt "+myNumbers[sortIndex[i]][0]+" von platz "+sortIndex[i]+" auf platz "+i);
}
trace("");
//
// sortiert nach inhalt:
sortIndex = myNumbers.sortOn(0, Array.NUMERIC | Array.RETURNINDEXEDARRAY);
for (var i = 0; i<myNumbers.length; i++) {
trace("inhalt "+myNumbers[sortIndex[i]][0]+" aus ergebnis"+myNumbers[sortIndex[i]][1]+" von platz "+sortIndex[i]+" auf platz "+i);
}
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (16-08-2008 um 12:35 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 16-08-2008, 16:59   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2008
Beiträge: 19
hallo hgseib
viele dank für deine antwort. ich habe es mal laufen lassen und es ist genau das was ich suchte. jetzt mal dran setzen und nachvollzi9ehen

lg
onkel4u ist offline   Mit Zitat antworten
Alt 22-08-2008, 12:46   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2008
Beiträge: 19
hallo,
tut mir leid dass ich mich noch mal zu dem thema melde aber so ganz das was ich suche, ist das noch nicht.

im endeffekt möchte ich nur eine einzige variable haben und zwar die variable, mit dem höchsten wert.

in dem beispiel möchte ich also dass mit ergebnis übegeben wird.

zb so

bester wert=ergebnis4;

lg

edit:
hier mal ein beispiel wie ich mir das vorstelle:
Zitat:
onSelfEvent (load) {
ergebnis0 = 5;
ergebnis1 = 1;
ergebnis2 = 6;
ergebnis3 = 3;
ergebnis4 = 7;
ergebnis5 = 2;
best=0;

if ((best<ergebnis0) || (best<ergebnis1) || (best<ergebnis2) || (best<ergebnis3) || (best<ergebnis4) || (best<ergebnis5))
{

best=ergebnis0;
trace("1. schleife");

if((best<ergebnis1) || (best<ergebnis2) || (best<ergebnis3) || (best<ergebnis4) || (best<ergebnis5))
{
best=ergebnis1;
trace("2. schleife");

if((best<ergebnis2) || (best<ergebnis3) || (best<ergebnis4) || (best<ergebnis5))
{
best=ergebnis2;
trace("3. schleife");
if((best<ergebnis3) || (best<ergebnis4) || (best<ergebnis5))
{
best=ergebnis3;
trace("4. schleife");
if((best<ergebnis4) || (best<ergebnis5))
{
best=ergebnis4;
trace("5. schleife");
if(best<ergebnis5)
{
best=ergebnis5;
}
}
}
}

}



}
trace(best);

}

Geändert von onkel4u (22-08-2008 um 14:22 Uhr)
onkel4u ist offline   Mit Zitat antworten
Alt 22-08-2008, 14:33   #7 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
Code:
ergebnis0 = 5;
ergebnis1 = 1;
ergebnis2 = 6;
ergebnis3 = 3;
ergebnis4 = 7;
ergebnis5 = 2;
best = 0;
//
ergebnisse = [ergebnis0, ergebnis1, ergebnis2, ergebnis3, ergebnis4, ergebnis5];
//
index = ergebnisse.sort(Array.RETURNINDEXEDARRAY | Array.NUMERIC | Array.DESCENDING);
best=_root["ergebnis"+index[0]]
//
trace("höchster wert: "+ergebnisse[index[0]]+" in variable ergebnis"+index[0])
trace(best);
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 26-09-2008, 14:57   #8 (permalink)
Neuer User
 
Registriert seit: Aug 2008
Beiträge: 19
hallo,
ich habe nochmal eine frage.
bei meinem array gibt es eine dynamische anzahl an variablen.
es kann also sein dass bei mir beispielsweise 6 variablen eingelesen werden:

Code:
ergebnisse = [ergebnis0, ergebnis1, ergebnis2, ergebnis3, ergebnis4, ergebnis5]
oder beispielsweise nur3:

Zitat:
ergebnisse = [ergebnis0, ergebnis1, ergebnis2


im script lese ich allerdings vorher schon die anzahl der variablen aus und nun möchte ich wissen wie ich genau so viele variablen einlese, wie vorher ausgewertet werden.

beispiel:

Code:
anzahl = 4;
ergebnisse = [ergebnis0, ergebnis1, ergebnis2, ergebnis3]
vielen dank
onkel4u ist offline   Mit Zitat antworten
Alt 27-09-2008, 17:45   #9 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
aktuell arbeitest du mit einem array von x eingaben
woher die kommen musst du selbst wissen, ich weiss es nicht.

und wenn du irgendwo noch ein array mit noch mehr als gerade aktuell benötigten ergebnisX hast, wen interessiert das?
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 28-09-2008, 02:54   #10 (permalink)
Neuer User
 
Registriert seit: Aug 2008
Beiträge: 19
hallo,
es ist schon relevant,ob zuviele variablen ausgelesen werden. ich lese die variablen an einer bestimmten stelle aus einer csv. wenn jetzt einen bestimmte stelle in der csv nicht die variable ist, die gesucht wird, dann wird anstelle dessen eine andere variable eingelesen.

wenn also beispielsweise die 3.variable in eionem text gesucht wird, die jedoch nicht da ist, dann wird in meinem script einfach die vierte variable genommen. das problem habe ich aber mittlerweile gelöst, bzw anderweitig hilfe bekommen. danke dir trotzdem
onkel4u ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 11:51 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele