Array sortieren
Klaus
- javascript
Hi,
ich habe ein JavaScript Array, in dem sowohl numerische als auch alphanumerische Werte stehen teilweise auch gemischt, kennt ein Script um sowas zu sortieren?
Wie sortiert man ein Array, das aus Array besteht? Sieht ungefähr so aus:
Entry = new Array();
function Element(Feld1,Feld2,Feld3)
{
// Eigenschaften
this.Feld1 = Feld1;
this.Feld2 = Feld2;
this.Feld3 = Feld3;
}
Entry[0] = new Element('20.28',
'M20x1,5',
'42')
So und jetzt nach Feld1 sortieren, wie geht das?
danke.
Gruss
Klaus
Hi,
ich habe ein JavaScript Array, in dem sowohl numerische als auch alphanumerische Werte stehen teilweise auch gemischt, kennt ein Script um sowas zu sortieren?
Wie sortiert man ein Array, das aus Array besteht? Sieht ungefähr so aus:
http://www.netzwelt.com/selfhtml/javascript/objekte/array.htm#sort
Struppi.
gruss Klaus,
... Sieht ungefähr so aus:
Entry = new Array();
function Element(Feld1,Feld2,Feld3) {
// Eigenschaften
this.Feld1 = Feld1;
this.Feld2 = Feld2;
this.Feld3 = Feld3;
}Entry[0] = new Element('20.28','M20x1,5','42');
Entry[1] = new Element(...);
Entry[2] = ...;
So und jetzt nach Feld1 sortieren, wie geht das?
danke.
Gruss
Klaus
Wie sortiert man ein Array, das aus Array besteht? ...
... aber nur weil Deine "Element"-objekte auch als assoziative arrays durchgehen;
var sortKey = "Feld1"; // bzw. "Feld2" oder "Feld3";
var sorting = "descending"; // bzw. "ascending"
// oder man sortiert innerhalb der funktion "tableSort" in eine bevorzugte richtung und
// bedient sich bei bedarf nach "Array.sort(sortFunction)" der methode "Array.reverse()";
function tableSort(a,b) {
var valueA = a[sortKey];
var valueB = b[sortKey];
// standardmaessig: alphabetische sortierung //
return ((sorting == "descending") ? ((valueA > valueB) ? (-1) : ((valueA < valueB) ? (1) : (0))) : ((valueA < valueB) ? (-1) : ((valueA > valueB) ? (1) : (0))));
// oder auch:
// return ((sorting == "descending") ? (valueB - valueA) : (valueA - valueB));
//
// oder andere selbstdefinierte vergleichskriterien wobei darauf zu achten ist, dass
// ein vergleich negative oder positive numerische werte bzw. 0 zurueckgeben muss;
}
Entry.sort(tableSort);
by(t)e by(t)e - peterS. - pseliger@gmx.net
--
sh:| fo:) ch:? rl:| br:& n3:} n4:# ie:| mo:{ va:| de:[ zu:] fl:) ss:) ls:& js:)