JavaScript Sortieren Komparator-Funktion

Grundsätzlich will ich bauen, eine Funktion, die die möglichen Objekte in einem array durch eine der Objekt-Eigenschaften/member-Variablen. Ich bin preeeety Sie sicher, dass der Komparator-Funktion, wo der Fehler versteckt ist, aber ich bin mir nicht 100% sicher.

Die Ausgabe, die ich bekommen sollte, nachdem die Sortieren-Funktion aufgerufen wird, ist 1,2,3. Ich bekomme 1,3,2 was bedeutet, dass es unverändert ist

Dies ist der gesamte js-code (mit einigen Anmerkungen):

var arr = [];
//object definition and creation
var main = document.getElementById("main");
var task = {
    name: "",
    priority: 0
};

//first
var one = Object.create(task);
one.priority = 1;
//secondd
var two = Object.create(task)
two.priority = 3;
//last
var three = Object.create(task);
three.priority = 2;

//append
arr.push(one);
arr.push(two);
arr.push(three);

//sort function
function sortT() {
    arr.sort(compareFN);
}

//comperator function
function compareFN() {
    return task.priority < task.priority;
}

function print() {
    for (var i = 0; i < arr.length; i++) {
        console.log(arr[i].priority);   
    }
}

//execution of the program
print();
sortT();
print();

EDIT: Die Lösung ist folgende - Wie gesagt, der Komparator-Funktion war wirklich das problem, den richtigen Weg zu schreiben, es ist folgende:

function compareFN(taskA, taskB) {
   return taskA.priority < taskB.priority;
}

InformationsquelleAutor Stanimirovv | 2013-06-29

Schreibe einen Kommentar