yetanotheruser: Array sortieren nach max. 2 Kriterien

Beitrag lesen

Hi,

habe irgendwie grade ein Brett vorm Kopf und sehe nur noch schwarz.

So, ich habe ein Array, das wie folgt aufgebaut ist:

array = (2|4|Test1,
         3|3|Test2,
         4|3|Test3,
         4|4|Test4)

PS: Das Array wird dynamisch gebaut, es kann also sein, dass wesentlich mehr Elemente vorhanden sind.

Das möchte ich jetzt gerne so sortiert haben:

4|4|Test4,2|4|Test1,4|3|Test3,3|3|Test2

function bubblesort(array) {
  for(var i = 0; i < array.length; i++) {
    for(var j = 0; j <= array.length - i - 2; j++) {
      if(array[j].split('|')[1] > array[j+1].split('|')[1]) {
        a = array[j];
        array[j] = array[j+1];
        array[j+1] = a;
      }
      if(array[j].split('|')[1] == array[j+1].split('|')[1]) {
        if(array[j].split('|')[0] > array[j+1].split('|')[0]) {
          a = array[j];
          array[j] = array[j+1];
          array[j+1] = a;
        }
      }
    }
  }
  return array;
}

Dat Ding ist nicht getestet oder sonderlich schnell, da kann man sicher einiges optimieren, sollte aber zumindest genug Hinweis zum Vorgehen sein.

Gruß Ben