• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Array sortieren nach for i schleife

kiam_1972

New member
Guten Morgen zusammen,

ich habe ein Problem und zwar möchte ich ein Array nach dem Durchlauf einer for i Schleife sortieren. Das ganze sieht so aus:

HTML:
function populateSavedSearch(menu)
{	
		
	if (aSavedSearches.length == 0)
	{
		return;
	}
	var item = menu.addMenuItem({
		text: sSearchTranslations[5], /*Saved Searches*/
		menu:	{
		    shadow: false,
		    minWidth: '150px',
			items: []
		}
	});

	for(i = 0; i < aSavedSearches.length; i++)
	{
		var search = aSavedSearches[i];
		var name = search.name;
		
                          item.menu.addMenuItem({
								text: name,
								id: 'miSavedItem' + search.id,
								
								handler: onSavedSearchClick
		});
	}
}

Ich habe eine Menüleiste, auf der sich unter anderem der Teil für Saved Searches befindet. Wird darauf geklickt, so werden knappe 60 Einträge angezeigt, aber nur sortiert nach der ID, nicht nach dem Namen, der sich dahinter verbirgt.

Nun meine Frage: Wie bekomme ich es hin, dass nicht nach der ID sortiert wird, sondern nach dem Namen??

Vielen Dank für eure Hilfe sagt

kiam_1972
 
Zuletzt bearbeitet von einem Moderator:
Was passiert, wenn du statt
Code:
+ search.id

Code:
+ search.name

verwendet würdest?

Woher kommet
HTML:
 aSavedSearch
?

EDIT: MIKDOE hatte fertig, während ich noch tippte.
 
Zuletzt bearbeitet:
@mikdoe

Sorry, werde ich beim nächsten mal drauf achten, dies ist mein erster Beitrag hier. Dein Verweis auf den Beitrag zur Sortierung ist nicht genau das was ich suche.

@dbarthel

Ändere ich dies um, passiert nichts weiter, ausser dass das Ergebnis genauso aussieht.

Die Variable aSavedSearches kommt aus einer php Datei. Schaue ich mir den Quellcode der Seite an, auf der die Ausgabe dargestellt wird, so ist folgendes zu sehen:

Code:
var aSavedSearches = [
{id:1,name:'SWD-TGEE'},
{id:11,name:'Document Author'},	
 {id:12,name:'Change Request'}

Diese Auflistung geht weiter mit insgesamt 60 Inhalten. Hier ist schon zu sehen, dass die Sortierung nicht nach "name" erfolgt, sondern nach "id".

Ich hoffe, ich konnte damit ein weiter helfen und mein Problem etwas detaillierter erläutern.
 
Warum alles zu Fuß machen, wo javascript doch sort hat:
PHP:
function sortName (a, b) {
    return (a.name >  b.name);
}

aSavedSearches.sort(sortName);

LG jspit
 
@jspit

Vielen Dank, das hat geholfen, nun funktioniert es so wie ich mir das vorgestellt habe.

Ich danke euch für eure schnelle Hilfe.

Grüße

kiam_1972
 
Zurück
Oben