Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-09-2006, 15:11   #1 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.054
array.sortOn will nicht

Hallo,

ich lade eine xml-datei in mein flash und bastele daraus ein zweidimensionales array.

sieht dann so aus:

PHP-Code:
 arr = [[1"thomas"], ["Heike"], [25"Herbert"], [...]] 
Jetzt möchte ich das Array sortieren und zwar nach den namen.
Habe es so versucht:

PHP-Code:
arr.sortOn([0],Array.NUMERIC); 
Aber ich bekomme trotz Array.NUMERIC die reinfolge nicht richtig ausgegeben:-( also raus kommt 1, 25, 3

Woran kann das liegen??

Danke vorab...:-)
__________________

Gruß kakktus
kakktus ist offline   Mit Zitat antworten
Alt 13-09-2006, 15:16   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
arr = [[100, "thomas"], [3, "Heike"], [1, "Herbert"]];
arr = arr.sortOn([0], Array.NUMERIC); // nach der nummer
trace(arr);
arr = arr.sortOn([1]); // nach dem namen
trace(arr);

für welche flash-version lässt du compilieren?
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (13-09-2006 um 15:19 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 13-09-2006, 15:26   #3 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.054
HI, danke für die antwort.

Ich glaube, dass das problem darin besteht, dass die zahlen als string im array stehen.
kommt wohl durch das xml!?

Aber wie zum geier bekomme ich da wieder eine Number draus???
__________________

Gruß kakktus

Geändert von kakktus (13-09-2006 um 16:10 Uhr)
kakktus ist offline   Mit Zitat antworten
Alt 14-09-2006, 04:15   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
geier=Number("4712");
trace(typeof(geier));
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 14-09-2006, 13:16   #5 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.054
Hi,

ja schon klar aber irgendwie funktioniert das beim xml laden nur so:

PHP-Code:
subArr.push(Number(myXML.firstChild.childNodes[i].childNodes[n].
childNodes.toString())) 
__________________

Gruß kakktus
kakktus ist offline   Mit Zitat antworten
Alt 14-09-2006, 13:28   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Jo, weil's ein Object ist. parseInt(...,10) oder parseFloat() sollten auch ohne das toString() gehen und sind manchmal sinnvoller, weil z.B. Leerzeichen abgeschnitten werden, wenn es welche geben sollte.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 14-09-2006, 13:30   #7 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
xml ist nunmal reiner text
und um den inhalt eines notes auszulesen ist nodeValue der richtige befehl.
Code:
var _xml = new XML("<a><b>200</b><b>300</b><a>");
//
var node=_xml.firstChild.childNodes;
var b0=node[0].firstChild.nodeValue;
var b1=Number(node[1].firstChild.nodeValue);
//
trace(typeof(b0));
trace(typeof(b1));
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 14-09-2006, 13:53   #8 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.054
HI,

danke euch beiden

@hgseib: Geanu daran lag es. Wie blöde von mir voll der Denkfehler..
jetzt geht's..
__________________

Gruß kakktus
kakktus 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 20:23 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele