JSFiddle - React, Tailwind, and code Playground
by krisselden
JavaScript
var injections = [
{"name": "B"},
{"name": "A", "before": "B"},
{"name": "afterC", "after": "C"},
{"name": "afterB", "after": "B"},
{"name": "C", "after": "B"}
];
function compare(a, b) {
if (a.before) {
if (!b.before || a.before === b.name) {
return -1;
}
} else if (a.after) {
if (!b.after || a.after === b.name) {
return 1;
}
}
if (b.before) {
if (!a.before || b.before === a.name) {
return 1;
}
} else if (b.after) {
if (!a.after || b.after === a.name) {
return -1;
}
}
return 0;
}
injections.sort(compare);
var i;
for (i = 0; i < injections.length; i++) {
$(document.body).append($('<p></p>').text(injections[i].name));
}